国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務器之家 - 數(shù)據(jù)庫 - Mysql - 簡單解析MySQL中的cardinality異常

簡單解析MySQL中的cardinality異常

2020-05-05 16:44MYSQL教程網(wǎng) Mysql

這篇文章主要介紹了簡單解析MySQL中的cardinality異常,這個異常會導致索引無法使用,需要的朋友可以參考下

前段時間,一大早上,就收到報警,警告php-fpm進程的數(shù)量超過閾值。最終發(fā)現(xiàn)是一條sql沒用到索引,導致執(zhí)行數(shù)據(jù)庫查詢慢了,最終導致php-fpm進程數(shù)增加。最終通過analyze table feed_comment_info_id_0000 命令更新了Cardinality ,才能再次用到索引。
排查過程如下:
sql語句:

?
1
select id from feed_comment_info_id_0000 where obj_id=101 and type=1;

索引信息:

?
1
2
3
4
5
6
7
8
9
10
show index from feed_comment_info_id_0000
+---------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+---------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| feed_comment_info_id_0000 | 0 | PRIMARY | 1 | id   | A | 6216 | NULL | NULL |   | BTREE | |
| feed_comment_info_id_0000 | 1 | obj_type | 1 | obj_id | A | 6216 | NULL | NULL |   | BTREE | |
| feed_comment_info_id_0000 | 1 | obj_type | 2 | type  | A | 6216 | NULL | NULL | YES | BTREE | |
| feed_comment_info_id_0000 | 1 | user_id | 1 | user_id | A | 6216 | NULL | NULL |   | BTREE | |
+---------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
5 rows in set (0.00 sec)

通過explian查看時,發(fā)現(xiàn)sql用的是主鍵PRIMARY,而不是obj_type索引。通過show index 查看索引的Cardinality值,發(fā)現(xiàn)這個值是實際數(shù)據(jù)的兩倍。感覺這個Cardinality值已經(jīng)不正常,因此通過analyzea table命令對這個值從新進行了計算。命令執(zhí)行完畢后,就可用使用索引了。

Cardinality解釋
官方文檔的解釋:
An estimate of the number of unique values in the index. This is updated by running ANALYZE TABLE or myisamchk -a. Cardinality is counted based on statistics stored as integers, so the value is not necessarily exact even for small tables. The higher the cardinality, the greater the chance that MySQL uses the index when doing
總結(jié)一下:
1、它代表的是索引中唯一值的數(shù)目的估計值。如果是myisam引擎,這個值是一個準確的值。如果是innodb引擎,這個值是一個估算的值,每次執(zhí)行show index 時,可能會不一樣
2、創(chuàng)建Index時(primary key除外),MyISAM的表Cardinality的值為null,InnoDB的表Cardinality的值大概為行數(shù);
3、值的大小會影響到索引的選擇
4、創(chuàng)建Index時,MyISAM的表Cardinality的值為null,InnoDB的表Cardinality的值大概為行數(shù)。
5、可以通過Analyze table來更新一張表或者mysqlcheck -Aa來進行更新整個數(shù)據(jù)庫
6、可以通過 show index 查看其值

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91最新视频| av免费观看网站 | 视频在线一区 | 久久a国产 | 毛片在线播放网站 | 久久男人天堂 | 午夜免费视频 | 国产精品无码久久久久 | 久久精品国产99国产精品 | 高清视频一区 | 国产精品对白一区二区三区 | 免费一区二区 | 欧美精品免费在线 | 国产中文久久 | 91高清视频在线观看 | 日韩在线播放一区 | 亚洲精品久久久久久国产精华液 | 亚洲小视频网站 | 成人午夜精品视频 | 在线观看一区 | 国产精品1区2区3区 久久免费一区 | 午夜亚洲一区 | 一区二区三区四区国产 | 成人片免费视频 | 久久99久久99精品免观看粉嫩 | 免费黄网站在线观看 | 久久久久久久免费观看 | 黄色一级小视频 | 久久精品国产亚洲 | 成人乱人乱一区二区三区 | 日韩国产一区二区 | 久久免费精品 | 亚洲免费中文 | 99精品欧美一区二区三区综合在线 | www.久久99 | 国产精品久久久久久久 | 欧美日韩高清 | 国产成人精品免高潮在线观看 | 免费在线观看黄色av | 中国大陆高清aⅴ毛片 | 91精品国产91久久久久久最新 |