mysql数据库存储⽣僻字_mysql⽣僻字存储
@⽪总 @红薯>#
第⼀问:使⽤mysqlimport导⼊数据。最好不要使⽤insert into。
第⼆问:如果存储是{char(15), unsigned tinyint }, Utf8(1Bytes to 3Bytes per character),tinyint 1Bytes 。那么(3*15 + 1)×1000000 / (1024*1024.0) ⼤约 44M⼤⼩。
第三问:给主键添加索引, 更新planner statistics。⽽且根据某个字段合理分区,这样查询会很快。
第四问:不知道,但是我想不存在这样的汉字不在unicode中 >#回复
@Lesus : 原来如此 感谢回答~>#回复
@陈昊 : 数据库中的静态信息,例如MySQL中MyISAM表包含了⼀些⾏数等静态信息。count(*)时就直接取出就可以了。
>#planner statistics是?>#姓⽒分区,图⽅便,hash分区>#
第四问:不知道,但是我想不存在这样的汉字不在unicode中
汉字好像有7万多个,⽽ Unicode 按极限来算只能表⽰65536个字符,所以不在 Unicode ⾥的汉字很多。 >#⼈家问我有哪些,百度没百度出来,谁知道 啊>#Thx, 可能使⽤专门为汉字设计的gbk更好>#
那些汉字不能存在char[]中,不在unicode中
回答⽣僻字就ok了。。本来这个问题就没法具体回答 >#Unicode 编码能表⽰所有的汉字, 所以,我也认为, 不存在⽤unicode⽆法表⽰的汉字.>#unicode汉字
第⼀个问题:
try(BufferedReader reader = new BufferedReader(new FileReader("filename"))){
String line = null;
while((line = adeLine()!=null){
String[] strs=line.split("\\t");
//根据strs值构建sql,或者批处理插⼊
}
}catch(Exception e){
e.printStackTrace();
}
第⼆个问题:
⼀个汉字⼀般占2个字节,⼀个字母占⼀个1个字节,你这种数据100万左右的记录,即便有复杂的索引,也应该不会超过20M。
第三个问题:
可以使⽤count(0)代替count(*)来提⾼⼀点效率,你所说的2亿条记录,可以采⽤分表,建⽴索引的办法提⾼效率。
第四个问题:
没太看到你的意思~汉字的Unicode编码范围:\u4E00-\u9FA5 \uF900-\uFA2D,超出这个范围就不是
汉字了。
你这种需求,可以直接将⽂本导出mysql dump⼯具需要的格式,使⽤mysql bin⽬录下的dump⼯具导⼊表中,这种效率更⾼。 >#学习了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论