Chinaunix

标题: 读mysql和读文本文件的性能问题 [打印本页]

作者: kaede_1    时间: 2015-06-15 10:52
标题: 读mysql和读文本文件的性能问题
有两个关于mysql和读文本文件的性能问题,哪位仁兄解答一下,多谢
1.将数据从文件读入内存和从数据库读入内存性能上差多少?(假如数据量是百万级的记录,读字段为两个整形)
2.获取字符串的性能对比:
   a)根据两个整形字段从数据库中select获取一个字符串
   b)现有文件句柄以及字符串所在文件的偏移量,读出这个字符串
这两个性能能查多少?

假如数据库的性能好一些,那么一张表100W条记录和三张表各30W+条记录这两种存储数据方式,是不是三张表的要好一些?

提前谢过!
作者: hellioncu    时间: 2015-06-15 11:04
正常情况下,肯定是自己读文件性能好。
相差多少不好说,可变因素太多
作者: kaede_1    时间: 2015-06-15 11:20
回复 2# hellioncu


    读记录、查询记录、添加记录都是  文件方式   好?
作者: hellioncu    时间: 2015-06-15 11:23
kaede_1 发表于 2015-06-15 11:20
回复 2# hellioncu


一般来说,专用的肯定比通用的性能好,写的人水平太差另说。
当然,自己写费时,用mysql简单。
作者: yulihua49    时间: 2015-06-15 11:23
kaede_1 发表于 2015-06-15 11:20
回复 2# hellioncu

不一定。
作者: fender0107401    时间: 2015-06-15 11:32
自己弄的话,要想快速查询,不得也放在某个数据结构里面吗,还不如直接用数据库的,方便,而且可靠。
作者: linux_c_py_php    时间: 2015-06-15 15:27
夸网络读一个文件和本地读一个文件,在速度上没有什么差异,只是延迟高一点罢了。

楼主应该从将来的扩展性方面(存储量,性能)考虑这个事情。
作者: kaede_1    时间: 2015-06-15 19:22
回复 7# linux_c_py_php


    能简单说一下扩展性方面吗?多谢!
作者: linux_c_py_php    时间: 2015-06-15 19:26
kaede_1 发表于 2015-06-15 19:22
回复 7# linux_c_py_php


把数据摘出来放到存储服务里,对将来的架构调整肯定是更有利的,例如你说的拆分成3个表,将3个表部署到3台服务器上来扩展性能,都很方便。


更何况你的数据量是百万条,还有索引的需求,单单使用文件肯定不能满足,至少是在文件上做一个小存储系统,那还不如有点先见之明,选择一个适合你的存储,当然不一定是mysql了,可以考虑文档型数据库例如mongodb。


作者: kaede_1    时间: 2015-06-16 11:38
回复 9# linux_c_py_php


    好的,多谢指点
作者: noword2k    时间: 2015-06-16 17:07
如果用文本文件的话,速度应该没数据库快。
你想象一下,程序先要找到'\n',才能确定这一行的大小,然后再copy出来,一行上有多个数据的话,还要分隔...最后还要转换成int。光想想就很慢。

但是如果直接用二进制存储的话,速度应该不会比数据库慢。因为中间没做什么文本处理。文本处理是非常非常低效的。
作者: kaede_1    时间: 2015-06-17 10:26
好的,多谢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2