2012年2月26日
摘要: 上次我们分析了在附加属性表这样表结构设计下的PostgreSQL查询效率。由于PostgreSQL众所周知的所谓“性能”问题,所以有必要再用使用MyISAM引擎的MySQL再来实验一遍。在我们详细分析了两种常见的开源数据库之后,话题将会进一步引申到按行存储的数据库结构以及索引对于查询效率的影响。以下实验中的MySQL为MariaDB发行版本。还是从建表开始:MariaDB [veil]> show create table cc2;+-------+---------------------------------------------------------------------- 阅读全文
posted @ 2012-02-26 16:43 taowen 阅读(1879) 评论(1) 推荐(2) 编辑
摘要: 有时需求需要我们把系统做成灵活的。最常见的形式是,属性不能是固定的,要用户可以自定义。这样的需求往往会在数据库中建模成一个一对多的关系。create table person {... }create table person_attribute {person_id ...attribute_name ...attribute_value ......}这样的建模在没有查询需要的时候,还是蛮不错的。但是一旦需要对扩充的属性值进行查询,速度往往惨不忍睹。曾经在新加坡做过一个电信的遗留系统的前端,其数据库的建模就是这样的。对于中间的属性表,一个简单的查询都需要join好几次,速度非常慢。好在那. 阅读全文
posted @ 2012-02-26 08:33 taowen 阅读(1369) 评论(0) 推荐(0) 编辑