mysql数据库------疑问

来源:互联网 发布:网络使用管理规定 编辑:程序博客网 时间:2024/06/09 20:22

以下为网上查找到的一些资料


固定长度的表会更快?

如果表中的所有字段都是“固定长度”的,整个表会被认为是 “static” 或 “fixed-length”。 例如,表中没有如下类型的字段: VARCHAR,TEXT,BLOB。只要你包括了其中一个这些字段,那么这个表就不是“固定长度静态表”了,这样,MySQL 引擎会用另一种方法来处理。
固定长度的表会提高性能,因为MySQL搜寻得会更快一些,因为这些固定的长度是很容易计算下一个数据的偏移量的,所以读取的自然也会很快。而如果字段不是定长的,那么,每一次要找下一条的话,需要程序找到主键。
并且,固定长度的表也更容易被缓存和重建。不过,唯一的副作用是,固定长度的字段会浪费一些空间,因为定长的字段无论你用不用,他都是要分配那么多的空间。


(

固定长度的字段查询是否更快?刚开始我也是这样认为的   char查询比varchar要快,但是事实不是,  亲测1000W条数据的表,查询2个长度一样的char  varchar     (8)   (100)长度的,

(=查询)   like查询都测试过

varchar的查询时间都直接碾压char,而且是在不适用索引的情况下,使用索引之后更是碾压

)



小一点的表会有好性能?


(表字段少一些的表会有好性能)? 没有测试过,这个我也没有亲测过,因为实在抽不出时间来做对应的测试

但是,如果分表,经常要join连接的话,那又有什么意义呢,如果不需要join连接,那么也说明该字段用处不多,相当于垃圾数据,实际并没什么卵用,或许是当初根据需求设计时添加的没用字段,

总之是否分表,看具体情况而定吧


(表文件大小的越小的表会有好性能)?       测试过,500W条数据的文章表,2G大小,无论有没有把文章内容字段分离出去,性能提升都可以忽略不计(测试没有使用索引)

网上的结论--------小一点的表是否是字段少的表?



mysql数据库执行表查询操作

是否需要将整张表都IO进内存中,如果需要,那上面的文章表测试如何解释呢?

我预测的答案是,在查询语句当中,如果不涉及到的字段,mysql引擎是不会把该字段的数据IO到内存中的.










原创粉丝点击