在一些数据量大的项目中,如果MySQL数据库中有一亿条数据,那么查询时间是多少?
经过测试,得出以下结论:
-
在不加索引的情况下,需要30秒左右(而且还是服务器性能较好的情况下)。
-
在加索引的情况下,需要2秒左右,但是给一亿条数据加索引,需要20秒左右。
显然,在服务器存储的时候,数据量一旦变大,查询效率将会变低,因此我们需要提出一些合理的方案去解决
对于文本数据,可以使用以下的解决方案
方案一: 使用集群的方式,搭建主从服务器,读写分离,一台服务器专门用来读数据,另外一台服务器专门用来写数据。
方案二: 可以对数据库进行分表、分库,比如给每个数据库分配500w数据
方案三: 可以开启缓存,比如使用Redis等,可以更加高效的查询数据。
方案四: 可以开启索引,例如Solar,Lucene等。
方案五: 对数据库进行设计优化以及SQL语句优化。
对于文件资源(视频、图片、音乐)…
针对于海量的文件数据,例如视频、音乐文件、图片等,我们需要一个文件服务器,对于文件服务器,有以下的方案可以参考:
方案一: 使用FTP ,不建议使用
方案二: 使用ngfs,这是一个老牌的技术,已经停止更新了,社区也不活跃,一般不采用。
方案三: 使用fastdfs ,这是阿里巴巴的以为技术人员开发的,fastdfs对于海量文件的存储,相率是十分的高,甚至可以做网盘来进行大文件存储,所以推荐使用fastdfs。