我现在有一个数据库,数据大小为100G,远端查询,更新超慢,求优化方法,在线等,有问题可以问。数据库性能优化

解决方案 »

  1.   

    大部分表有建索引,数据库使用的是MS SQL2005
      

  2.   

    还是赶紧把SQL和详细数据贴出来吧,这样讨论,不会有结果的
      

  3.   

    菜鸟啊,只会写两句SQL代码,
    SELECT  * FROM MHistoryStockCost
    WHERE CONVERT(CHAR(8),StockDate,112) =  '20130801' and MatCode = 'A0C204541JTG'
    执行上述查询用了22秒
      

  4.   

    你这样的写法,即使StockDate这个字段做了索引,也使用不上。不慢才怪
    这张表有多大数据量?
      

  5.   

    WHERE StockDate =  '2013-08-01' and MatCode = 'A0C204541JTG'
    建立对应的索引
      

  6.   

    首先查询不要用 * ,尤其是大数据量,需要要什么数据写上浪费不了多少时间
    其次,WHERE条件左边最好不要有对数据的操作CONVERT,INNULL这些都会遍历整张表
    所以不管有无索引,结果都会很慢,看你的语句执行22秒,数据量也不是很大,考虑其他因素
      

  7.   

    --创建索引
    CREATE INDEX IX_MHistoryStockCost_MatCode_StockDate ON dbo.MHistoryStockCost
    (
    MatCode,
    StockDate
    )
    --修改SQL
    SELECT * FROM MHistoryStockCost
    WHERE StockDate >=  '20130801'
    AND S
    and MatCode = 'A0C204541JTG'