请教大家mysql里用binary做为主键 因为mysql里没有5个字节的类型,所以我想使用char(5) binary,可是不知道效率如何呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 5个字节效率应该没有问题。 不过总体来说CHAR不如INT型。如果你的内容都是数字的话,不如直接使用 BIGINT 8 BYTE,效率会比这个CHAR(5)要好。 楼主难道想用binary(5),它描述的就是5个字节的二进制类型。 这个效率应可以char(5) binary 仍是char。校验用的是bin。 char(5) binary 这个binary 只是影响字符集,做比较时用到像狼头哥所说,如果你的内容都是数字的话,用数字类型的字段,会比字符类型的效率高 IP地址是4个字节,另加一个字节的随机数0~255, 一共是5个字节。如果使用bigint的话会有点浪费了 char(5) binary 效率是不是比bigint低呢, 如果是这样的话,宁愿浪费一点空间提高效率, 因为是内存表所以更加在乎字段的大小了 比如127.0.0.1 + 5 存进去后是0x7f00000105, 到时可能会用到查询某一个IP地址的所有记录,select * from online where ip>0x7f00000100 and ip<0x7f0000010ff不知道这样的查询效率怎么样呢 多表查询优化 求教句sql 【请高手支招】mysql 触发器读取多表更新 问题?? 求一同时出明细和汇总的sql语句 请问这句话该如何表达? mysql 数据迁移问题,所有的.frm文件报错· 数据库查询形成新表 关于Limit 的问题?不知是MySQL的bug? 自增ID 可以多个吗 ? 不同版本下mysql select id from test where id in问题 mysql 对超大表的处理 MySql还是XML 到底该用哪个
这个效率应可以char(5) binary 仍是char。校验用的是bin。
像狼头哥所说,如果你的内容都是数字的话,用数字类型的字段,会比字符类型的效率高
select * from online where ip>0x7f00000100 and ip<0x7f0000010ff
不知道这样的查询效率怎么样呢