在一些数据量大的项目中,如果MySQL数据库中有一亿条数据,那么查询时间是多少?

经过测试,得出以下结论:


  1. 在不加索引的情况下,需要30秒左右(而且还是服务器性能较好的情况下)。

  2. 在加索引的情况下,需要2秒左右,但是给一亿条数据加索引,需要20秒左右。


显然,在服务器存储的时候,数据量一旦变大,查询效率将会变低,因此我们需要提出一些合理的方案去解决


对于文本数据,可以使用以下的解决方案

方案一:​ 使用集群的方式,搭建主从服务器,读写分离,一台服务器专门用来读数据,另外一台服务器专门用来写数据。

方案二:​ 可以对数据库进行分表、分库,比如给每个数据库分配500w数据

方案三:​ 可以开启缓存,比如使用Redis等,可以更加高效的查询数据。

方案四:​ 可以开启索引,例如Solar,Lucene等。

方案五:​ 对数据库进行设计优化以及SQL语句优化。


对于文件资源(视频、图片、音乐)…

针对于海量的文件数据,例如视频、音乐文件、图片等,我们需要一个文件服务器,对于文件服务器,有以下的方案可以参考:

方案一:​ 使用FTP ,不建议使用

方案二:​ 使用ngfs,这是一个老牌的技术,已经停止更新了,社区也不活跃,一般不采用。

方案三:​ 使用fastdfs ,这是阿里巴巴的以为技术人员开发的,fastdfs对于海量文件的存储,相率是十分的高,甚至可以做网盘来进行大文件存储,所以推荐使用fastdfs。