Skip to content

Instantly share code, notes, and snippets.

@h-j-13
Created February 2, 2018 08:22
Show Gist options
  • Select an option

  • Save h-j-13/0acb74135a4c0c1e775d086dea4426ad to your computer and use it in GitHub Desktop.

Select an option

Save h-j-13/0acb74135a4c0c1e775d086dea4426ad to your computer and use it in GitHub Desktop.
@staticmethod
def get_table_num(domain):
"""获取域名所属分表序号"""
table_num = -1
# 抽取首字母
domain = str(domain).lower()
try:
initial = domain[0]
except:
table_num = -1
return table_num
# 基于 http://172.29.152.152:8000/dns_domain/beijing_whowas/Database/blob/master/bjwazwa.md 的
# 数据库设计分表原则进行分表
if domain.find("xn--") != -1 and initial == "x":
table_num = 7
elif initial == "s" or initial == "q" or initial == "x":
table_num = 1
elif initial == "c" or initial == "v":
table_num = 2
elif initial == "m" or initial == "n":
table_num = 3
elif initial == "a" or initial == "i":
table_num = 4
elif initial == "t" or initial == "h":
table_num = 5
elif initial == "b" or initial == "j" or initial == "o":
table_num = 6
elif initial == "p" or initial == "g":
table_num = 7
elif initial == "d" or initial == "l":
table_num = 8
elif initial == "f" or initial == "w" or initial == "u" or initial == "y" or initial == "z":
table_num = 9
elif initial == "e" or initial == "r" or initial == "k":
table_num = 10
else: # 数字
table_num = 8
return table_num
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment