关于设计数据库的可扩展性我应该了解什么?
除了在经常检索的列上创建索引,以及使用 SELECT col1, col2, col3 FROM tbl
而不是 SELECT * FROM table
之外,关于设计数据库我还应该了解什么为了可扩展性/快速性能?
Apart from creating indexes on columns that are retrieved often, and doing SELECT col1, col2, col3 FROM tbl
instead of SELECT * FROM table
, what else should I know about designing databases for scalability / fast performance?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有很多东西,你需要知道,小样本
何时使用分区
使表格尽可能窄,以便每页可以容纳更多行
如何最大限度地减少锁定和阻塞
分片
磁盘 IO 子系统(raid 5 或 10、SAN 或 HDD)
使查询可SARGable以便使用索引
解释计划
使用正确的数据类型
查找和扫描之间的区别
There is tons of stuff, you need to know, small sample
When to use partitioning
make tables as narrow as possible so that you can fit more rows per page
how to minimize locking and blocking
sharding
disk IO subsystem (raid 5 or 10, SAN or HDD)
making queries SARGable so that indexes will be used
Explain plan
Using the correct data types
Difference between a seek and a scan
您可能会发现此主题很有趣:
应用程序开发人员犯的数据库开发错误
You might find this thread interesting:
Database development mistakes made by application developers
您应该知道:
You should know: