您的位置:首页 > 教育 > 锐评 > 写网页的素材图片_财务软件哪个最好用最简单_企业查询系统官网_百度 竞价排名

写网页的素材图片_财务软件哪个最好用最简单_企业查询系统官网_百度 竞价排名

2025/1/9 11:39:57 来源:https://blog.csdn.net/2402_84756417/article/details/145013942  浏览:    关键词:写网页的素材图片_财务软件哪个最好用最简单_企业查询系统官网_百度 竞价排名
写网页的素材图片_财务软件哪个最好用最简单_企业查询系统官网_百度 竞价排名

1、全字段匹配是最棒的

假如一个Staffs 这个表,将 name,age ,pos 组合成了一个联合索引,在where条件下,能够使用到的索引越多越好。
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July';
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25;
EXPLAIN SELECT * FROM staffs WHERE NAME = 'July' AND age = 25 AND pos = 'dev';

 

 2、最佳左前缀法则

 

 创建索引的时候,  name --> age --> pos 
在使用索引的时候,也必须按照这个顺序来,不能少,顺序可以乱。

 

 3、索引列上不计算

3、不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描。

 

 4、不能使用索引中范围条件右边的列

Explain select * from staffs where name='' and age >25 and pos='';
age > 25  这个 age 这个索引也用到了,但是 pos这个字段的索引没有起作用,失效了。

 5、尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *

 

 以上的SQL语句,一样的where条件,因为 select 后面的字段不一样,sql的执行效率就不一样,因为第二个语句将 * 改为了三个索引字段,使用到了覆盖索引。

 6、使用不等于(!= 或者<>)的时候无法使用索引

 7、注意字段的null值和 not null 对sql的影响

第一种情况,name 是一个索引,name 字段允许为null

 第二种情况:name 是一个索引,name 字段不允许为null

 总结就是:索引字段,这个字段是否为null 对于sql的好坏有一定的影响,需要警惕。尽可能设置为not null

8、like以通配符开头('%abc...')mysql索引失效

 9、字符串不加单引号索引失效 (底层使用数据类型转换)

 10、少用or,用它来连接时会索引失效

 可以使用union 替代 or

接着是一个索引的练习题:

以上这些就是sql的优化的一部分。

总结了一个口诀:

全值匹配才最棒,最佳左前缀法则;
刘备大哥不能死,关羽兄弟不能断;
索引列上少计算,范围之后全完蛋;
LIKE百分写最右,覆盖索引有妙用;
不等空值还有OR,索引影响要注意;

mysql的优化是一个非常大的命题,大约分为4个大方向,我们只讲了一个方向:索引优化

  • 索引优化: 合理设计索引,优化查询性能,避免全表扫描。
  • 查询优化: 优化SQL查询语句,避免慢查询,提高查询效率。
  • 缓存优化: 合理利用MySQL内置的缓存机制,如查询缓存、结果缓存等,减少对数据库的访问次数。
  • 硬件优化: 选择合适的硬件配置,包括CPU、内存、磁盘等,提高数据库的吞吐量和响应速度。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com