为了加快你的查询,增加正确的索引是必不可少的。 但是过了一段时间,当你的系统变大了,你可能会发现自己大量的索引导致数据库的写操作变慢 — 由于每一次对表的写操作,都需要在事务中更新索引。
写这篇文章的过程中,我的一个朋友也遇到了类似的问题。在开始使用索引的时候,他们忘记了把索引添加到特定栏中,以至于数据库CPU用量飙升。这件事带给我的教训是沟通是关键,实现获取客户的指标,了解需求的增加程度,从小部分开始迁移,不要一次性进行整体迁移,了解你正在索引的数据
如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
氧化 Ubuntu:默认采用 Rust 实用工具
我认识的最糟糕的程序员
初级开发人员的复仇
JavaScript 框架选择困难症仍在增加
Python 中 help() 函数的各种特性
HTML代码里的命令:command 和 commandfor
程序开发理念
了解 CSS 是前端开发的精髓
苹果的软件质量危机 当优质硬件遇上次品软件
早期的 Linux