您现在的位置是:首页
>
个人优点和缺点 高性能MySQL:反范式的优点和缺点
高性能MySQL:反范式的优点和缺点 反范式的优点和缺点 反范式化的 chema 因为所有数据都在一张表中 可以很好地避免关联 如果不需要关联表 则对大部分查询最差的情况 即使表没有使用索引
高性能MySQL:反范式的优点和缺点
反范式的优点和缺点
反范式化的schema 因为所有数据都在一张表中 可以很好地避免关联
如果不需要关联表 则对大部分查询最差的情况 即使表没有使用索引 是全表扫描 当数据比内存大时这可能比关联要快得多 因为这样避免了随机I/O
要更有效地执行这个查询 MySQL 需要扫描message 表的published 字段的索引 对于每一行找到的数据 将需要到user 表里检查这个用户是不是付费用户 如果只有一小部分用户是付费账户 那么这是效率低下的做法
另一种可能的执行计划是从user 表开始 选择所有的付费用户 获得他们所有的信息 并且排序 但这可能更加糟糕
主要问题是关联 使得需要在一个索引中又排序又过滤 如果采用反范式化组织数据 将两张表的字段合并一下 并且增加一个索引(account_type published) 就可以不通过关联写出这个查询 这将非常高效
mysql> SELECT message_text user_name
> FROM user_messages
> WHERE account_type= premium

> ORDER BY published DESC
> LIMIT ;
返回目录高性能MySQL
编辑推荐
ASP NET MVC 框架揭秘
Oracle索引技术
ASP NET开发培训视频教程
lishixinzhi/Article/program/MySQL/201311/29677 很赞哦! (1056)