interactive_timeout, join_buffer_size, key_buffer_size
Ãëàâíàÿ Ñòðàíèöà » Êíèãè ïî PHP » MySQL óðîêè äëÿ íà÷èíàþùèõ ñ íóëÿ » interactive_timeout, join_buffer_size, key_buffer_size â MySQL
interactive_timeout
Âðåìÿ îæèäàíèÿ (â ñåêóíäàõ) ñåðâåðîì äåéñòâèé íà àêòèâíîì ïîäêëþ÷åíèè ïåðåä åãî çàêðûòèåì. Ñì. òàêæå ïåðåìåííóþ wait_timeout.
join_buffer_size
Ðàçìåð áóôåðà, êîòîðûé èñïîëüçóåòñÿ äëÿ ïîëíûõ îáúåäèíåíèé (îáúåäèíåíèÿ, êîòîðûå íå èñïîëüçóþò èíäåêñû). Áóôåð áóäåò ðàñïðåäåëåí îäèí ðàç äëÿ êàæäîãî ïîëíîãî îáúåäèíåíèÿ ìåæäó äâóìÿ òàáëèöàìè. Óâåëè÷üòå ýòî çíà÷åíèå, ÷òîáû óñêîðèòü ïîëíîå îáúåäèíåíèå, åñëè äîáàâëåíèå èíäåêñîâ íåâîçìîæíî. Îáû÷íî ñàìûé ëó÷øèé ñïîñîá ïîëó÷åíèÿ áûñòðûõ îáúåäèíåíèé ñîñòîèò â òîì, ÷òîáû äîáàâèòü èíäåêñû òàáëèöû.
key_buffer_size
Èíäåêñíûå áëîêè áóôåðèçèðîâàíû è ðàçäåëÿþòñÿ âñåìè ïîòîêàìè. Ïåðåìåííàÿ key_buffer_size êàê ðàç è çàäàåò ðàçìåð áóôåðà, èñïîëüçóåìîãî äëÿ èíäåêñíûõ áëîêîâ. Óâåëè÷üòå ýòî çíà÷åíèå, ÷òîáû óëó÷øèòü èíäåêñíóþ îáðàáîòêó. Íî åñëè ñäåëàåòå åãî ñëèøêîì áîëüøèì (áîëüøå, ÷åì 50% îáùåé ïàìÿòè), âàøà ñèñòåìà ìîæåò íà÷àòü èñïîëüçîâàòü ñâîï è î÷åíü çàìåäëèòü ñâîþ ðàáîòó. Íå çàáóäüòå, ÷òî ïîñêîëüêó MySQL íå êýøèðóåò ÷òåíèå äàííûõ, âû äîëæíû îñòàâèòü íåêîòîðûé ó÷àñòîê ïàìÿòè äëÿ êýøà ôàéëîâîé ñèñòåìû ÎÑ.
Âû ìîæåòå ïðîâåðÿòü ýôôåêòèâíîñòü áóôåðà êëþ÷åé, âûïîëíåíèÿ show status è èçó÷àÿ ïåðåìåííûå Key_read_requests, Key_reads, Key_write_requests è Key_writes. Êîýôôèöèåíò Key_reads/Key_read_request îáû÷íî äîëæåí áûòü ìåíüøå 0.01. A Key_write/Key_write_requests îáû÷íî áëèçîê ê 1, åñëè âû èñïîëüçóåòå îáû÷íîå îáíîâëåíèå/óäàëåíèå, íî ìîæåò áûòü íàìíîãî ìåíüøå, åñëè âû èìååòå òåíäåíöèþ äåëàòü ìîäèôèêàöèè, êîòîðûå âîçäåéñòâóþò íà ìíîãî äàííûõ ñðàçó, èëè åñëè èñïîëüçóåòå delay_key_write. Ïîäðîáíîñòè â ðàçäåëå 4.10. «Ñèíòàêñèñ SHOW».
×òîáû ïîëó÷èòü çàìåòíîå óñêîðåíèå ïðè çàïèñè ìíîãèõ ñòðîê ñðàçó, èñïîëüçóéòå LOCK TABLES. Ïîäðîáíîñòè â ðàçäåëå 9.2.2. «Ñèíòàêñèñ LOCK TABLES/ UNLOCK TABLES».



