AKCMS 遵循的几条数据库设计原则

AKCMS是我编写一个轻量级的CMS程序,其中遵循的三条数据库设计原则也同样适用于绝大多数大数据量高负载高并发的应用场景。个别原则可能说的比较绝对,实践中灵活掌握,灵活运用。

一  如果SQL语句中用到JOIN、多表联查,说明设计有问题

解决方案:

1 在主查询表冗余相关表的一部分数据
2 在应用中缓存一部分数据

二 数据库中不包含逻辑:不使用外键,表与表之间不发生关系,不使用存储过程,不使用触发器,不使用数据库的其他独有的特性。数据库的Query Cache有的话更好,没有的话也没关系,不依赖它,在应用中自己实现缓存。

解决方案:

在应用中实现约束、触发、缓存与存储过程功能

这个原则有三个原因:
①避免对特定数据库特性的依赖;
②使用它并不会带来很大的收益,没有强有力理由一定要使用它;
③便于维护:所有的逻辑都在应用中;数据库中只提供数据存储和查询,不包含逻辑。

三 大表的查询

不单纯追求查询次数最小;应该追求查询耗时最短,服务器负担最小。这个原则是新确立的原则,AKCMS遵守的也不太好,不过在朝这个目标努力。

以上几条原则是在CMS特定应用场景中的心得体会,不一定适用于其他场景,仅供大家参考。

 评论
  我想问下AKCMS可以承载多少条的数据呀 文章发多了的话网页的打开速度会不会受到影响呀?
回复:我该怎么回答你呢?

  2265.com 安卓游戏

  kanakn

  学习了

  哥们,支持你
 发表评论
姓   名: