易截截图软件、单文件、免安装、纯绿色、仅160KB

保持简单即最优 Mysql的部署原则

今天读到
When should you store serialized objects in the database?

其中针对
FriendFeed使用Mysql来存储
作为引题,
建议在考虑此方案时一定要三思。为什么?参考这里
Kiss KISS KISS
. 其实
Schema-Less没有错,但不能什么场景都上此方案,要
分析利弊,减少不必要的应用层复杂度。
文中提到的Serialized objects的保存技术,就是(entity-attribute-value) EAV, 说一下总结的缺点:
1.它对搜索不友好(都压缩存在一字段里,肯定不能搜索),这确实是一个问题。FriendFeed使用变相index,解决了它需要解决的问题。但只能是规避。
2.Select精确选择字段是不成了,每次都是SELECT * from xx,当然使用Memcache可以很少的解决此问题。
3.不
能加约束(constraints),应用层需要作校验,其实就是增加了数据层的复杂库。
4.如果使用Json,不能使用Number和IP的原始形式存储,必须转换成String。这点好像不是那么重要,因为我们可以使用的文本协议有很多。比如Google的
protobuf

其实最重要的原则在Kiss KISS KISS
中已经说的很清楚。对于刚开始的应用,使用Master-slaver足以。不要使用什么"优化",那些
其实就是"扯淡"。对于Scaling out方案更是应该简单有效为主,说白了,对于Mysql而言,一台Master及一台或几台slaver就是"最佳方案"。



相关文档:

mysql缓存参数

对mysql的优化不在行,搞过几次优化,但是都不是很理想,还是浪费资源太多。一直发现我的mysql的缓存命中率极差,情况良好的时候到达过60-70%,但是运行时间一长,只有10-20%。查了一些资料,关于缓存的一些参数记录
mysql> SHOW VARIABLES LIKE ‘%query_cache%’;
+—————&m ......

MySQL创始人发邮件寻求中国帮助!

亲爱的拯救MySQL的中国签名支持者:
    欧盟可能无法拯救MySQL, 中国和俄罗斯可能是拯救MySQL的希望之所在。中国拥有强大、独立以及自信的反垄断主管机关,因此,我本人在此请求您的帮助。对于您在 http://helpmysql.org/cn/petition
的签名,我们深表感谢。如果可以的话,我们需要您的进一步帮助:
&nb ......

mysql中的union和order by、limit

我有一个表
CREATE TABLE `test1` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `desc` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
(1)以下查询会报错误:[Err] 1221 - Incorrect usage of UNION and ORDE ......

mysql中count函数注意事项

表:
CREATE TABLE `user` (
  `id` int(5) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  `password` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
其中有数据为:
1 name1 123456
2&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号