1. 使用ALTER TABLE语句:使用ALTER TABLE语句可以在表中添加新的列,可以在表中添加多个列,也可以在表中添加多个列,但是在高并发的情况下,这种方法可能会导致表锁,影响性能。
2. 使用CREATE TABLE语句:使用CREATE TABLE语句可以在表中添加新的列,可以在表中添加多个列,这种方法可以避免表锁,但是在高并发的情况下,可能会导致数据不一致,所以不推荐使用。
3. 使用INSERT INTO语句:使用INSERT INTO语句可以在表中添加新的列,可以在表中添加多个列,这种方法可以避免表锁,也可以保证数据的一致性,但是在高并发的情况下,可能会导致性能下降,所以也不推荐使用。
4. 使用存储过程:使用存储过程可以在表中添加新的列,可以在表中添加多个列,这种方法可以避免表锁,也可以保证数据的一致性,而且在高并发的情况下,可以提高性能,所以是比较推荐使用的方法。
具体原因是:1、索引列值为null,此时会索引失效。
2、sql的语句中写了or,如果or后的字段不全是带索引字段,此时索引失效。
3、模糊查询是like以%XX开头,就是说左模糊不太行,右模糊可以。
4、存在类型转换,比如你的索引字段是varchar型,但是你搜索条件却是userid=333,那这样索引不生效。
5、数据量极少时,Mysql不会使用索引,因为全表扫描速度更快。
6、where条件中的索引运算设计计算时,索引失效。索引列不要使用函数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)