数据库结构的设计与如何最大限度的利用索引
2018-06-17 22:46:38来源:未知 阅读 ()
举个例子如一张消息表
结构如些 Id (自增主键) Content(内容) UserId(说话人Id) IsWonderful(是否是精彩发言) Top(是否置顶) IsBarrage( 是否是弹幕)
当这个结构的表 数据还少时取 经常发言 置顶发言 和弹幕 速度比较快
但是数据一多 30多万条的时候查找数据
37w条数据 中查找经常发言
用时4.753 秒
虽然加上索引之后可以找0.1秒钟找到数据 但是每加一个索引 写入速度就变慢一点 后面还有 弹幕置顶也要查找 岂不是都要加索引 这样写入非常慢尤其是这样表写入频繁的情况下,更说明这张表的设计有很大的问题
这样时候在在建一张表 结构是
Id 主键
Type 类型 1-精彩发言 2-置顶,3-弹幕
ChatMessageId 消息表Id
接下来 用事实验证的时候了
接下来 我们看下分析
完美的利用了已经存在的主键索引
在37w条数据 中找到经常发言只用了0.0001秒 而且也没增加新的索引 怎么看到这里是不是若有所思了
以后设计数据库的时候不要老想的增加新的索引(除非写入和改变很少的情况下) 尽量利用自带的主键索引
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 了解php工作原理以及常用功能 2019-09-30
- MySQL性能优化的20条经验 2019-09-23
- 商品SKU系统,你如何设计? 2019-09-17
- 一份非常完整的MySQL规范 2019-09-17
- PHP的灵魂HashTable结构解读 2019-09-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash