三种东西永远不要放到mysql数据库里

 更新时间:2014年06月11日 17:50:45   投稿:shichen2014  
这篇文章主要介绍了mysql数据库不能存储的三样东西,需要的朋友可以参考下

图片,文件,二进制数据永远不要放到mysql数据库里

很多人会觉得既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的! 别的先不提,在很多数据库语言里,处理大字段都不是很容易。
把文件存放在数据库里有很多问题:

1.对数据库的读/写的速度永远都赶不上文件系统处理的速度
2.数据库备份变的巨大,越来越耗时间
3.对文件的访问需要穿越你的应用层和数据库层
这后两个是真正的杀手。
那么把图片缩略图存到数据库里?结果是,你不能使用nginx或其它类型的轻量级服务器来处理它们了。
给自己行个方便吧,在数据库里只简单的存放一个磁盘上你的文件的相对路径,或者使用S3或CDN之类的服务。

短生命期数据不要放到mysql数据库里

使用情况统计数据,测量数据,GPS定位数据,session数据,任何只是短时间内对你有用,或经常变化的数据。 如果你发现自己正在使用定时任务从某个表里删除有效期只有一小时,一天或数周的数据, 那说明你没有找对正确的做事情的方法。 使用redis,statsd/graphite, Riak,它们都是干这种事情更合适的工具。 这建议也适用于对于收集那些短生命期的数据。
当然,用挖土机在后花园里种土豆也是可行的,但相比起从储物间里拿出一把铲子, 你预约一台挖土机、等它赶到你的园子里挖坑,这显然更慢。 你要选择合适的工具来处理手头上的事。

日志文件不要放到mysql数据库里

把日志数据存放到数据库里,表面上看起来似乎不错,而且“将来也许我需要对这些数据进行复杂的查询”, 这样的话很得人心。这样做并不是一个特别差的做法, 但如果你把日志数据和你的产品数据存放到一个数据库里就非常不好了。
也许你的日志记录做的很保守,每次web请求只产生一条日志。 对于整个网站的每个事件来说,这仍然会产生大量的数据库插入操作, 争夺你用户需要的数据库资源。 如果你的日志级别设置为verbose或debug,那等着看你的数据库着火吧。
你应该使用一些比如Splunk Loggly或纯文本文件来存放你的日志数据。 这样去查看它们也许会不方便,但这样的时候不多,甚至有时候你需要写出一些代码来分析出你想要的答案, 但总的来说是值得的。

相关文章

  • MySQL中DATE_FORMATE函数使用时的注意点

    MySQL中DATE_FORMATE函数使用时的注意点

    这篇文章主要介绍了MySQL中DATE_FORMATE函数使用时的注意点,主要是针对其内置的字符集使用时需要转换而进行说明,需要的朋友可以参考下
    2015-05-05
  • Linux系统MySQL8.0.19快速安装配置教程图解

    Linux系统MySQL8.0.19快速安装配置教程图解

    这篇文章主要介绍了Linux系统MySQL8.0.19快速安装配置教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • MySQL数据库存储过程和事务的区别讲解

    MySQL数据库存储过程和事务的区别讲解

    今天小编就为大家分享一篇关于MySQL数据库存储过程和事务的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • mysql提示[Warning] Invalid (old?) table or database name问题的解决方法

    mysql提示[Warning] Invalid (old?) table or database name问题的解决方

    今天一个朋友的上服务器出现[Warning] Invalid (old?) table or database name问题,通过分析binlog日志发现,在以下sql语句中出现问题,由于涉及敏感内容,用sql语法表示
    2012-07-07
  • 企业生产MySQL优化介绍

    企业生产MySQL优化介绍

    这篇文章主要介绍了企业生产MySQL优化介绍的相关内容,文中叙述了其优化内容,各个方面介绍的比较详细,需要的朋友可以参考。
    2017-10-10
  • 教你3个步骤为Mysql添加只读账号

    教你3个步骤为Mysql添加只读账号

    只要公司有数据团队的那免不了让这帮家伙把全公司的数据库数据都摸一遍,但是要是直接把root用户给了他们有点危险,于是只能给设权限,这篇文章主要给大家介绍了关于如何通过3个步骤为Mysql添加只读账号的相关资料,需要的朋友可以参考下
    2023-12-12
  • mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT解决办法

    mysql8报错:ERROR 1410 (42000): You are not allowed to 

    电脑新装的mysql,版本为8.0以上,分配权限时直接带密码和账号会报错,这篇文章主要给大家介绍了关于mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT的解决办法,需要的朋友可以参考下
    2022-06-06
  • MySQL 开启慢查询日志的方法

    MySQL 开启慢查询日志的方法

    本篇文章主要介绍了MySQL 开启慢查询日志的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • mysql 5.7.24 安装配置图文教程

    mysql 5.7.24 安装配置图文教程

    这篇文章主要为大家详细介绍了mysql 5.7.24 安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • mysql 5.7.14 安装配置简单教程

    mysql 5.7.14 安装配置简单教程

    这篇文章主要为大家分享了mysql 5.7.14安装配置方法图文教程,一看就会的mysql 5.7.14安装教程,感兴趣的朋友可以参考一下
    2016-08-08

最新评论