数据库分片可以减少读取和写入流量,减少复制并提高缓存命中率。也减少了索引,通常意味着查询更快,性能更好。
"""
-------------------------------------------------
File Name: 3
Description : python3.7
Author : FXQ
date: 2023/3/2
-------------------------------------------------
Change Activity:
2023/3/2 16:49:
-------------------------------------------------
"""
"""
hash数据库分片实现
用户表分片如果按照省份来分,那么会可能导致分片不均匀
比如,安徽省的用户比海南省的用户多了好几倍 所以前者所在数据库压力比后者大
用hash可以很大程度避免这种问题(数据统一看待,有点像分桶表的概念)
"""
import hashlib
userName = "小红"
dbNumbers = 30
dbId = int(hashlib.md5(userName.encode()).hexdigest(), 16) % dbNumbers
print(f"当前用户分配到{dbId}号数据库")