SQL索引失效的情况有哪些
导读:本文共5406字符,通常情况下阅读需要18分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 数据库调优的大致方向:索引失效,没有充分利用到索引——建立索引关联查询太多join——sql优化服务器调优及各个参数设置——my.cnf数据过多——分库分表sql查询优化技术有很多,大体分为物理查询优化和... ...
目录
(为您整理了一些要点),点击可以直达。数据库调优的大致方向:
索引失效,没有充分利用到索引——建立索引
关联查询太多join——sql优化
服务器调优及各个参数设置——my.cnf
数据过多——分库分表
sql查询优化技术有很多,大体分为物理查询优化和逻辑查询优化:
物理查询优化:通过索引和表连接方式等技术进行优化
逻辑查询优化:通过SQL等价变换提升查询效率,就是换一种sql写法
数据准备:
在定义表时,让主键auto_increment,否则,插入一条数据时可能会移动大量数据。
如,往 1 5 8 10 15 … 100 中插9,会放在8 10 中间,因为索引默认升序排列。那么10往后的数据都要挪动,页不够时又要放到下一页,每插一条数据都这样挪一次,开销很大
我们自定义的主键列id 拥有AUTO_INCREMENT 属性,在插入记录时存储引擎会自动为我们填入自增的主键值。这样的主键占用空间小,顺序写入,减少页分裂。
创建的联合索引中,必须把涉及到范围的字段写在最后。
页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决。
统一使用utf8mb4( 5.5.3版本以上支持)兼容性更好,统一字符集可以避免由于字符集转换产生的乱码。不同的字符集进行比较前需要进行转换会造成索引失效。
SQL索引失效的情况有哪些的详细内容,希望对您有所帮助,信息来源于网络。