为了加快你的查询,增加正确的索引是必不可少的。 但是过了一段时间,当你的系统变大了,你可能会发现自己大量的索引导致数据库的写操作变慢 — 由于每一次对表的写操作,都需要在事务中更新索引。
写这篇文章的过程中,我的一个朋友也遇到了类似的问题。在开始使用索引的时候,他们忘记了把索引添加到特定栏中,以至于数据库CPU用量飙升。这件事带给我的教训是沟通是关键,实现获取客户的指标,了解需求的增加程度,从小部分开始迁移,不要一次性进行整体迁移,了解你正在索引的数据
如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
Rust 和 C 文件系统 API
OpenAI 希望收购 Chrome 浏览器,使其成为 "人工智能优先 "的体验
我是如何破解房东的锅炉的
Python 的新 t-strings
OpenAI 为什么要收购 Windsurf?
两年的 Rust 使用感悟
为什么没有像 BitTorrent 这样的 P2P 流媒体协议?
为什么人工智能公司的标志看起来像屁眼?
Fedora 变革的目标是实现 99% 的软件包可重复性
我认识的最好的程序员