mysql优化和简单的数据库设计
2016-09-30 16:41
453 查看
在工作过程中经历了几个不错的项目,所采用的数据库设计也是多种多样,
这里我简单的说一下自己的想法,有不对的地方欢迎探讨。
===============分割线=====================
对于数据库的优化可以从最基础的服务器选择开始优化,选择好的SSD硬盘当然是事半功倍,
其次‘合理的数据结构’和‘严谨的建表规范’ 也是必要的过程。
合理的索引加上适当的字段冗余也是不错的选择。
可以参考下:
http://blog.csdn.net/u014017080/article/details/52199432
我这里不说上面这些,我说一下关于数据库的一些简单的分库,分表策略。
说到分库,分表每一个公司的业务逻辑不同肯定会有不同的设计方案,肯定没有一个共有的方案策略,
我这里简单的说下我的想法:
1.多城市数据分离
如果你们的业务数据是可以根据城市进行分离的话,例如:不同的城市有不同的商品。
可以用独立的用户体系+城市系统进行一个分离
而其中的用户体系也可以再次切割,如下:
最简单的用户切割方式根据用户唯一标示(手机号,用户ID)的hash值循环冗余校验值进行分表
可以在框架中对DB进行分装,根据访问用户手机号进行不同的拼装表面就ok了
这是最简单而又直接的分表分库方式。
2.用户体系分割
3.冷热数据处理
4.业务优化
====晚点更======
这里我简单的说一下自己的想法,有不对的地方欢迎探讨。
===============分割线=====================
对于数据库的优化可以从最基础的服务器选择开始优化,选择好的SSD硬盘当然是事半功倍,
其次‘合理的数据结构’和‘严谨的建表规范’ 也是必要的过程。
合理的索引加上适当的字段冗余也是不错的选择。
可以参考下:
http://blog.csdn.net/u014017080/article/details/52199432
我这里不说上面这些,我说一下关于数据库的一些简单的分库,分表策略。
说到分库,分表每一个公司的业务逻辑不同肯定会有不同的设计方案,肯定没有一个共有的方案策略,
我这里简单的说下我的想法:
1.多城市数据分离
如果你们的业务数据是可以根据城市进行分离的话,例如:不同的城市有不同的商品。
可以用独立的用户体系+城市系统进行一个分离
而其中的用户体系也可以再次切割,如下:
最简单的用户切割方式根据用户唯一标示(手机号,用户ID)的hash值循环冗余校验值进行分表
crc32(md5(‘手机号’)) % 300 + 1最简单的php代码,根据手机号分300个表 t_001user , t_002user ......
可以在框架中对DB进行分装,根据访问用户手机号进行不同的拼装表面就ok了
这是最简单而又直接的分表分库方式。
2.用户体系分割
3.冷热数据处理
4.业务优化
====晚点更======
相关文章推荐
- [原创]MySQL中SQL优化和架构设计的一些简单想法
- MySQL中SQL优化和架构设计的一些简单想法
- [MySQL] 两个优化数据库表的简单方法--18.3
- MySQL中SQL优化和架构设计的一些简单想法
- 表设计优化(MySQL作为报表数据库)
- MySQL优化不在于数据库本身,在于架构设计
- MySQL 数据库设计 笔记与总结(4)维护优化
- mysql优化之一(数据库设计)
- MySQL优化技巧之四(数据库设计中的一些技巧)
- Mysql性能优化-数据库设计
- 【转】MySQL中SQL优化和架构设计的一些简单想法
- mysql_数据库设计类型选择及优化
- MySQL中SQL优化和架构设计的一些简单想法
- 十、MySQL 数据库设计与优化整理--待续
- [原创]MySQL中SQL优化和架构设计的一些简单想法
- MYSQL优化 1数据库的设计 2系统的用途 3系统的瓶颈
- 数据库设计和查询的一些简单优化
- MySQL优化1:数据库设计优化
- 设计数据库及数据库的语句优化(mysql)
- mysql的优化(表的设计,优化步骤,四种索引,分析慢查询,使用索引的深入解析,存储引擎分析,表的分割,数据库配置)