iT邦幫忙

0

MSSQL 執行回傳問題請教

  • 分享至 

  • xImage

您好:
DB有 正式/測試 兩個環境
目前將資料都 統一,且 非從叢集索引都也都一樣

但AJAX 回傳的時間卻差了跨3秒
請問這有辦法 查問題點嗎?
謝謝
附上檢查時間https://ithelp.ithome.com.tw/upload/images/20240828/20104095LPnfl0NLNN.png

我試著將上週建立的非叢集索引 drop掉,再create
就相差極小
這資料量應該不會差很多...

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
sam0407
iT邦大師 1 級 ‧ 2024-08-29 09:51:23

這情形很正常呀~~
正式主機上使用者多,執行的新增/修改/刪除指令一定比您測試機來的多,自然索引就會比較亂,查詢起來正式機的速度就會慢。

您刪掉索引重建,等於兩台主機的索引都不亂了,查詢速度自然也就差不多了。

SQL Server可以在維護計劃裡設定重建索引的工作,您可以參考以下連結在正式主機上作設定:
重建索引工作 (維護計畫)

noway iT邦研究生 1 級 ‧ 2024-08-29 19:28:29 檢舉

您好,有定期做重建索引
但感覺也不至於 3-4天內,就變慢
且資料量 也不多
還不到千筆

所以想說有辦法 比較兩個嗎?
謝謝

sam0407 iT邦大師 1 級 ‧ 2024-08-30 11:07:47 檢舉

以DB的角度來看,我目前能想到最可能的是Disk I/O速度,若您的測試DB開在一般筆電,可能會放在SSD上。而主機DB一般是放在SAS硬碟上。

noway iT邦研究生 1 級 ‧ 2024-08-30 13:30:54 檢舉

您好:
目前是同一台 SRVER 主機
裡面有分 正式/測試 兩各DB

0

你说得对!索引碎片会严重影响查询性能,尤其是在繁忙的服务器上。重建索引是确保最佳性能的关键维护任务。以下是有关如何使用维护计划在 SQL Server 中设置索引重建任务的简要指南:

打开 SQL Server Management Studio (SSMS):
连接到您的 SQL Server 实例。
在对象资源管理器中,展开“管理”文件夹。
右键单击“维护计划”并选择“新建维护计划”。
创建新维护计划:
适当地命名您的维护计划。
将“重建索引任务”从工具箱拖放到工作区中。
配置重建索引任务:
双击“重建索引任务”以打开其属性。
选择要包含在任务中的数据库。您可以选择所有数据库、所有用户数据库或特定数据库。
配置其他选项,例如填充因子、在 tempdb 中对结果进行排序以及在重建期间保持索引在线。
安排维护计划:
设置维护计划的时间表,使其定期(例如每周或每月)运行,以保持索引优化。
drift boss

我要發表回答

立即登入回答