[英]MySQL stored procedure performance issue when using cursor and temporary table
[英]mysql stored procedure performance issue
我有這種情況
同一DB的2個,一個在DEV服務器上,另一個在PROD服務器(完全獨立的服務器)上
我的Web應用程序與DEV DB一起在DEV服務器上運行。 我的存儲過程在DEV DB上運行0.300seconds-0.600seconds,但是同一過程在PROD Server上運行3-12secs。(來自DEV服務器上的同一Web應用程序)DB結構,索引和數據都相同。 重大延遲。
唯一的區別是版本DEV-5.0.67-社區PROD-5.1.54-社區
對於普通的sql語句,延遲差異不大。
可能是什么原因? 還可以設置mysql緩存來提高性能嗎?
干杯
順便說一句,讓我補充一點,我存儲的proc正在為其他proc使用數據創建臨時表。 生產數據庫也連接到另一個PROD Web服務器上的同一個Web應用程序,該服務器應該具有傳入流量。 但是,為什么這只發生在我的存儲過程中。 我的其他查詢或普通查詢在時間安排上沒有顯着差異。
僵局會導致延遲嗎?
DEADLOCK was detected, OS WAIT ARRAY INFO: reservation count 17394257, signal count 14459620 --Thread 6600 has waited at G:\mysql-5.1.54-winbuild\mysql-community-nt-5.1.54-build\storage\innobase\ Mutex at 02878180 created file .\dict\dict0dict.c line 713, lock var 1 waiters flag 1 Mutex spin waits 0, rounds 367825986, OS waits 15398330 RW-shared spins 2245011, OS waits 810719; RW-excl spins 2893516, OS waits 820381 ------------------------ LATEST DETECTED DEADLOCK ------------------------ 110408 9:05:45 *** (1) TRANSACTION: TRANSACTION 0 203543446, ACTIVE 0 sec, OS thread id 6584 fetching rows mysql tables in use 2, locked 2 LOCK WAIT 761 lock struct(s), heap size 60736, 30170 row lock(s)
要看的東西:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.