winx96 2019-07-12 17:42 采纳率: 80%
浏览 1214
已结题

mysql强制走索引(force index)会不会对数据库造成影响呢?

# 数据库本来不走索引,你如果让他强制走索引,效率确实提高了,但是会不会给数据库造成什么影响或者隐患?

图片说明

  • 写回答

1条回答 默认 最新

  • 唯一的小彬哥 2021-10-18 11:33
    关注

    这个问题必须结合实际情况来分析。
    我大致给你讲一下索引和全表的优缺点,
    举个简单例子,比较通俗的理解
    比如一张表有100万数据,他可能一共有占用1万个数据块。那么
    为了获取所有数据,你可以理解为成本需要1万。

    如果使用索引获取数据量的成本是(1+索引高度+1)获取数据量。一般来说索引高度为2或者3,很少到4
    100万数据估计的高度大概为3
    如果为了获取所有数据,那么成本就是 5
    100万=500万。使用索引比全表扫描慢了500倍。

    但是如果你只是为了获取其中100行。
    全表扫描的成本还是1万。使用索引的成本就变成了5*100 = 500.对于全表扫描来说快了20倍。

    所以如果你的表很大,每次取的数据量占总数据量比值不会很大,那么强制走索引只有好处,没有坏处,反之则必然有坏处

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月22日
  • 已采纳回答 6月27日

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题