久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

mysql優化 - 關于mysql查詢時索引失效及掃描行數大于數據總行數的疑問。

瀏覽:105日期:2022-06-10 17:35:38

問題描述

mysql優化 - 關于mysql查詢時索引失效及掃描行數大于數據總行數的疑問。

數據表使用innodb引擎,updated_at 字段使用普通索引。三個問題:

對比前兩條語句,第二條沒有使用索引,我記得是掃描行數達到一定行數時會放棄使用索引,這個臨界值是多少呢?

全表掃描是顯示掃描行數是 70341 行,而數據總行數卻只有 57087 行?

select count(*) 使用了索引,但是也掃描了 70341 行,這個語句會產生性能問題嗎?

問題解答

回答1:

CBO優化機制的數據庫中,沒有明確的使用或不適用索引的臨界值,以執行計劃中的COST最小為標準,經驗值是取表總行數小于5%的時候用索引比較合適。

我理解第二個語句使用的是表的統計數據,如果表最近發生過比較大的變更,統計數據有沒有及時更新,會出現兩者偏差較大的情況。

count(*)使用了索引,說明update_at字段有NOT NULL的定義,相比較全表掃描,掃描索引的成本會更低一些。

相關文章:
主站蜘蛛池模板: 周宁县| 峡江县| 鹰潭市| 庆阳市| 博罗县| 耒阳市| 闽侯县| 乐业县| 两当县| 灌阳县| 香港| 仪征市| 禄丰县| 和林格尔县| 通辽市| 新宁县| 岚皋县| 同心县| 玛沁县| 祥云县| 鲁山县| 咸丰县| 远安县| 旬邑县| 平罗县| 冷水江市| 德兴市| 达拉特旗| 微博| 平塘县| 德州市| 巴林左旗| 金堂县| 梅河口市| 偏关县| 定边县| 农安县| 拜泉县| 通许县| 临高县| 二手房|