表结构"id  int IDENTITY (1, 1) NOT NULL ," & _
"ArticleID varchar(50) NULL ," & _
"ip varchar(50) NULL ," & _
"ondate datetime  NULL数据量三百多万经探查器得知频繁执行语句select top 1 id from "&tablename&" where ArticleID='"&ArticleID&"' and ip='"&ip&"' order by id desc导致CPU占用居高不下,事件探查器里的cpu,reads和Duration 很高求高人指点应该怎么优化

解决方案 »

  1.   

    create clustered index ix_id on tb(id)
    create index ix_a on tb(ArticleID,ip)
    --加两个索引
      

  2.   

    建個索引試試
    Create index IX_TableName_ArticleID_IP on TableName(ArticleID,IP)
      

  3.   

    ID是主健時,可用不用建,沒主健時放在一起
    Create index IX_TableName_ArticleID_IP_ID on TableName(ArticleID,IP,ID)
      

  4.   

    同上如果ID是主键及聚集索引时
    Create index IX_TableName_ArticleID_IP_ID on TableName(ArticleID,IP,ID)
    --这个列的顺序ArticleID,IP 看你具体情况,不重复性高的放前面最好点,