日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql的hash分区_MySQL中hash和key分区值的计算方法

發布時間:2025/3/20 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的hash分区_MySQL中hash和key分区值的计算方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL中hash和key分區值的計算方法

mysql中有一種叫作key作為partition key的類型.來看看記錄是怎么分布的

對于hash 分區,使用%操作符,每個partition key只能是int類型,通過

partition key%3(比如定義了三個分區)來把記錄分布三個不同的artition里面

mysql> create table t13 ( a int,b int) partition by hash(a) partitions 3

mysql>insert into t14 values(10,1);

mysql>insert into t14 values(11,1);

mysql>insert into t14 values(12,1);

10%3=1 所以第一條記錄是在p1里面,11%3=2在第二個分區p2里面,以此類推.

mysql> explain partitions select * from t13 where a=10;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t13?? | p1???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t13 where a=11;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t13?? | p2???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t13 where a=12;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t13?? | p0???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

對于使用key partition 的方法,官方文檔說是使用了一種password的方法.

mysql>create table t14 (a int,b int) partition by key(a) partitions 3

insert into t14 values(10,1);

insert into t14 values(11,1);

insert into t14 values(12,1);

insert into t14 values(13,1);

insert into t14 values(14,1);

insert into t14 values(15,1);

insert into t14 values(16,1);

mysql> explain partitions select * from t14 where a=10;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p0???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t14 where a=11;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p0???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t14 where a=12;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p1???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t14 where a=13;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p1???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t14 where a=14;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p2???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

1 row in set (0.00 sec)

mysql> explain partitions select * from t14 where a=15;

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

| id | select_type | table | partitions | type | possible_keys | key? | key_len | ref? | rows | Extra?????? |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

|? 1 | SIMPLE????? | t14?? | p2???????? | ALL? | NULL????????? | NULL | NULL??? | NULL |??? 2 | Using where |

+----+-------------+-------+------------+------+---------------+------+---------+------+------+-------------+

我發現對于key partition的規律是每兩個值落在同一步分區里面,其他沒有什么規律字,只是為什么樣這樣分配到不同的

分區里面,沒有很好的解釋。如果使用password函數,這些值的結果根本就不一樣.有知道的朋友可以和我交流一下.

總結

以上是生活随笔為你收集整理的mysql的hash分区_MySQL中hash和key分区值的计算方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情视频网站 | 91免费看国产 | 丝袜天堂 | 亚洲福利小视频 | 麻豆91茄子在线观看 | 欧美日韩视频免费 | 色七七桃花影院 | 亚洲欧洲成人精品久久一码二码 | 色射色 | 操人网 | 国产一区亚洲二区三区 | 免费亚洲婷婷 | 婷婷6月天 | 男男h黄动漫啪啪无遮挡软件 | 天天插天天干 | 亚洲乱码国产乱码精品精大量 | 午夜啪啪福利视频 | 国产影视一区二区 | 欧美射射| 欧美日韩中文字幕在线 | 亚洲国产www | 91精品国产入口在线 | 欧洲亚洲天堂 | 国产97在线 | 亚洲 | 国产欧美a | 精品人妻一区二区三区含羞草 | 日韩免费一区 | 毛片网站在线看 | 国产高清毛片 | 久久久77| 国产色视频 | 污片视频在线观看 | 蜜桃av一区二区 | 欧美福利网站 | 6080午夜伦理| 在线免费三级 | av最新资源| 亚洲成人观看 | 精品久久中文 | 免费一级黄 | 超碰免费av | 呦呦精品 | 国产在视频线精品视频 | 天堂视频免费在线观看 | 美国一级片网站 | 伊人网亚洲 | 国产三级自拍 | 日韩成人av免费在线观看 | 国产吞精囗交免费视频网站 | 日韩欧美视频 | 国产永久av| 男女视频一区二区 | 在线观看成人网 | 欧美一级片网站 | 永久免费毛片 | 嫩模被强到高潮呻吟不断 | 东凛在线观看 | 欧美激情影音先锋 | 国产黄色网 | av日韩精品 | 亚洲精品视频播放 | 国产一区二区三区色淫影院 | av超碰| 免费看的一级片 | 黄片毛片 | 日夜夜操 | 色射色 | 破处视频在线观看 | 天堂在线观看av | 久久精品91| 亚洲两性视频 | 97欧美| 久久久久久九九九 | 欧美成人吸奶水做爰 | 男人添女人荫蒂国产 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 日韩亚洲在线观看 | 欧美中文字幕在线视频 | 久久网页 | 久久久噜噜噜www成人网 | 亚洲精品精品 | a视频 | 午夜激情成人 | 久久爱网| 激烈的性高湖波多野结衣 | 色噜噜色狠狠 | av天堂一区 | 日韩极品在线观看 | 国产你懂的 | xxx日本黄色 | 国产精品久久免费 | 99久久精品日本一区二区免费 | 超污网站在线观看 | 一区二区三区精品在线观看 | 国产日韩欧美久久 | 免费在线观看www | 羞羞答答av| 日韩少妇内射免费播放18禁裸乳 | 性欧美在线视频 |