मुझे सरल अद्यतन क्वेरी के साथ कोई समस्या है जो हमेशा मेरी mysql-slow-query.log तालिका में दिखाई देता है और यह केवल 3021 rows
होता है।MySQL में सरल अद्यतन क्वेरी एक लंबा समय लेती है
क्वेरी लगता है:
UPDATE 'address'
SET 'user' = 1013
WHERE 'id_adress' = '1'
AND 'date' = '2012-06-04'
Query_time: २.६,६४,४१३ Lock_time: .०,००,०४३ Rows_sent: 0 Rows_examined: 1
जब मैं के साथ इस क्वेरी examinate:
select 'user' = 1013
from 'address'
where 'id_adress' = '1'
AND 'date' = '2012-06-04'
तो बहुत तेजी से दिखता है 1 row in set (0.00 sec)
यह आसान अद्यतन क्वेरी इतनी देर क्यों लेती है? इसे कैसे ठीक करें?
क्या आपके पास टेबल पर सेट कोई इंडेक्स है? इंडेक्स नकारात्मक रूप से क्वेरी पर अपडेट प्रदर्शन गति को प्रभावित कर सकते हैं भले ही वे 'चयन' क्वेरी को तेज करते हैं। – Ren
@Ren इस तालिका पर कोई अनुक्रमणिका नहीं है, आईडी पर केवल 1 प्राथमिक कुंजी है। – stefek143
चूंकि ये प्रश्न एकल-उद्धृत सब कुछ होने के कारण थोड़ा सा समझ में आता है, इसलिए मुझे लगता है कि आप वास्तव में उन्हें कुछ क्लाइंट भाषा के साथ उत्पन्न कर रहे हैं और यह एसक्यूएल कोड है * लगता है * यह वास्तव में चल रहा है। मेरी सलाह दोबारा जांचना है: 1) जेनरेट किया गया एसक्यूएल कोड क्या है 2) एसक्यूएल कैसे बाहर चलाता है (v.g. अपने पसंदीदा MySQL क्लाइंट से)। –