补充一下,不限mysql,谁知道哪个数据库在查询方面速度最快!windows,Linux都可以

解决方案 »

  1.   

    你的模糊匹配如果是如like 'aaa%'样式的,还可以利用索引,会比较快些,如果like ‘%aaa%',就没法利用索引,500万要在一秒内恐怕很困难,要全表检索。不管调用什么,最终还是要交由数据库检索,你直接放到一个数据库sql界面上执行,看有没可能达到这个速度.建立存储过程也可以提高检索速度
      

  2.   

    利用索引.存储过程 用Oracle
      

  3.   

    建索引试试看,恐怕够呛。
    另外,在数据库中MYSQL算快的了。
      

  4.   

    如果单单是一张表数据多,用mysql了;如果很多表中记录达到几十万,考虑用Oracle了。因为mysql简单,从而造就了某些方面的优势;而Oracle在并发处理、大容量、稳定性、大数据。。都作得非常好。
      

  5.   

    to: trampwind(随风)"不管调用什么,最终还是要交由数据库检索"意思是说不管用像php的脚本或者c++的可执行文件查询速度都是一样的?因为最终都是由mysql去查询,然后返回查询结果,是吗?如果是这样的话,看来要从mysql着手了。mysql的索引用不好的话反而会使速度变慢~~
      

  6.   

    to: trampwind(随风) "建立存储过程也可以提高检索速度"什么叫建立存储过程?谢谢~
      

  7.   

    百万数据级的数据搜索,是取决于数据库配置信息;一般创建的字段是出现在where后边的字段;存储过程是建交在数据库服务上,由数据库运行,主发减少数据库与客户端的交互次数。
      

  8.   

    一般的做数据查询都是调用数据库的标准查询SQL进行的,程序要做的一般是把SQL提交给数据库,再由数据库去执行,再返回结果给应用程序处理,这个处理过程是数据库执行的,跟应用程序没什么关系。不同的语言可能效率会有点差别,不过你的这个问题主要是从数据库的处理速度上考虑。要优化这个查询的话也是从SQL优化角度考虑。存储过程是存储在数据库中的一段存储程序。当创建存储过程时,系统会对其进行编译,并将执行代码存储到数据库中,这些代码是已经编译过的,所以执行会快些,普通SQL传过去还是要经过数据库编译的。不同数据库存储过程建立应该有区别的,可以去查看相应文档。
      

  9.   

    学到不少,100万记录测试的时候like 'xxx%' 查询时间基本为40ms,like '%xxx%' 长达11000ms,不过这里的查询关键字只有一个。
        都不知道给谁分好了,谁有有关存储过程,存储方式和建立索引的例子或文档发给我好吗?[email protected],谢谢~
      

  10.   

    全文索引不知道有没有效果。另外建议不要只有一个LIKE,在WHERE里多加几个条件吧。这些条件有索引的话会成倍提高效率。
      

  11.   

    自Linux下面的Mysql版本其单表查询速度是非常高的,我曾经建立了一个4000万条记录的表, 在Windows版本下面查询历时曾经达到1个钟头, 但在Linux下面只需3秒钟. 另外这种查询最好找出条件瓶颈然后建立索引, 这样速度会成若干倍提高. 因此我觉得你的需求在Linux + Mysql绝对没有问题.