SQL无法走索引的情况及解决思路
2017年5月23日 - 网易
因为数据库优化器不够智能,或者一些逻辑原因,导致SQL在比较适合走索引的情况下却无法正确利用索引。这时候,除了给数据库需要的统计信息之外,SQL语句本身还必须要给优化器足够多的额外有效信息,帮助优化器能够选择更好的执行计划。要让优化器正确选择需要的索引,要考虑两点:如何避免优化器的限制根据业务数据特点改写SQL...
详情
SQL优化 21 连击 + 思维导图
2022年10月24日 - 网易
并不是说使用了isnull或者isnotnull就会不走索引了,这个跟mysql版本以及查询成本都有关;如果mysql优化器发现,走索引比不走索引成本还要高,就会放弃索引,这些条件!=,<>,isnull,isnotnull经常被认为让索引失效;其实是因为一般情况下,查询的成本高,优化器自动放弃索引的;如果把null值,换成默认值,很多...
详情
到底选择SOL还是NoSQL?看这里!
2019年10月12日 - 网易
首先,我们看一下使用关系型数据库的方式,企业一个系统发展的几个阶段的架构演进(由于本文写的是SQL与NoSQL,因此只以存储方式作为切入点,不会涉及类似MQ、ZK这些中间件内容):阶段一企业刚发展的阶段,最简单,一个应用服务器配一个关系型数据库,每次读写数据库。阶段二无论是使用MySQL还是Oracle...
详情
如何“破解”Oracle数据库性能测试过程中索引使用问题?
2021年2月24日 - 网易
一、单独引用联合索引里非第一位置的索引列作为条件查询时不走索引。T表中与z列有关的索引是与y列共同组成的联合索引,如图2所示。而y列作为联合索引中位于第一位置的索引,在此查询中并未应用,因此单独查询z列时并未使用此联合索引。建议将可选性高的字段和使用频繁的字段放在组合索引顺序的前面,因为联合索引的前...
详情