MySQL数据库中从不放的三件事
许多人认为,由于数据库支持点类型数据,所以将文件插入到滴字段中肯定是错误的!错了,不像这样!在许多数据库语言中,处理许多数据库语言中的大字段并不容易。
在数据库中存储文件有很多问题。
1。对数据库的读/写速度将永远赶不上文件系统处理的速度。
2。数据库备份变得庞大,越来越耗时。
三.访问文件需要跨应用程序层和数据库层。
最后两个是真正的杀手。
那么图片缩略图是存储在数据库中的吗因此,你不能使用nginx或其它类型的轻量级服务器来处理他们。
让自己简单地将文件的相对路径存储在磁盘上,或者在数据库中使用S3或CDN服务。
不要将短日期数据放在MySQL数据库中。
使用统计数据、测量数据、GPS定位数据、会话数据、在短时间内对你有用的任何数据,或者经常变化。如果你发现你使用的是定时任务从一个表中删除,有效期只有一小时、一天或一周。这意味着你还没有找到正确的做事方式。使用redis,statsd /石墨,和Riak,他们都是更合适的工具来做这样的事情。这个建议也适用于数据收集的短生命周期。
当然,用推土机在后花园种土豆也是可行的。但是和储藏室里的铲子相比,你要预约一辆推土机,等着它在你的花园里挖,这显然慢了些。你必须选择合适的工具来处理手头的事务。
日志文件不放在MySQL数据库中。
在数据库中存储日志数据看起来很不错,将来我可能需要用复杂的方式查询这些数据,这是非常流行的,这样做不是很糟糕,但是如果把日志数据和产品数据存储在数据库中,那就很糟糕了。
也许您的日志记录非常保守,每个Web请求只生成一个日志。对于Web站点上的每一个事件,它仍然生成大量数据库插入来争夺您所需的数据库资源。
你应该使用Splunk Loggly或纯文本文件来存储你的日志数据。可以看他们喜欢这个不方便,但有许多这样的时刻。有时候,你需要写一些代码来分析你想要的答案,但总的来说,这是值得的。