SELECT
प्रश्नहरूमा आवश्यक क्षेत्रहरू निर्दिष्ट गर्नुहोस्
क्वेरीमा सबै क्षेत्रहरू चयन गर्नुको सट्टा SELECT
, लोड घटाउन र क्वेरी गति सुधार गर्न आवश्यक क्षेत्रहरू मात्र छनौट गर्नुहोस्।
उदाहरणका लागि, यदि तपाइँ ग्राहकको नाम र ठेगानाको मात्र ख्याल गर्नुहुन्छ भने, क्वेरी बदल्नुहोस्:
SELECT * FROM customers;
संग
SELECT name, address FROM customers;
अनुक्रमणिकाहरू सिर्जना गर्नुहोस्
Index
MySQL
खोज र छिटो डाटा पुन: प्राप्त गर्न मद्दत गर्नुहोस् । WHERE
, JOIN
वा खण्डहरूमा प्रायः प्रयोग हुने क्षेत्रहरू पहिचान गर्नुहोस् ORDER BY
र तिनीहरूका लागि अनुक्रमणिकाहरू सिर्जना गर्नुहोस्।
उदाहरणका लागि, " orders
" तालिकामा, यदि " customer_id
" फिल्ड बारम्बार प्रयोग गरिएको छ WHERE
वा JOIN
प्रश्नहरू छन् भने, तपाइँ निम्नानुसार अनुक्रमणिका सिर्जना गर्न सक्नुहुन्छ:
CREATE INDEX idx_customer_id ON orders(customer_id);
उपयुक्त प्रकारका अनुक्रमणिकाहरू प्रयोग गर्नुहोस्
MySQL
विभिन्न प्रकारका अनुक्रमणिकाहरू प्रदान गर्दछ जस्तै B-tree
, ह्यास, र full-text
। इष्टतम कार्यसम्पादन सुनिश्चित गर्न तपाईको क्वेरी आवश्यकताहरूको आधारमा उपयुक्त प्रकारको अनुक्रमणिका छान्नुहोस्।
उदाहरण को लागी, यदि तपाइँ डाटा फिल्ड भित्र पाठ खोज्न आवश्यक छ भने, तपाइँ full-text
निम्न अनुसार अनुक्रमणिका सिर्जना गर्न सक्नुहुन्छ:
CREATE FULLTEXT INDEX idx_description ON products(description);
अप्टिमाइज क्वेरीहरू
EXPLAIN
क्वेरी कार्यान्वयन योजना हेर्न र MySQL
यो कसरी प्रदर्शन गर्छ विश्लेषण गर्न प्रयोग गर्नुहोस् । यसले तपाईंलाई कार्यसम्पादन समस्याहरू पहिचान गर्न र अनुक्रमणिकाहरू वा पुन: लेख्ने प्रश्नहरू प्रयोग गरेर क्वेरीहरूलाई अनुकूलन गर्न मद्दत गर्दछ।
उदाहरणका लागि, क्वेरीको क्वेरी योजना हेर्नको लागि SELECT
, निम्न आदेश चलाउनुहोस्:
EXPLAIN SELECT * FROM orders WHERE customer_id = 123;
फिर्ता परिणामहरूको संख्या सीमित गर्नुहोस्
जब क्वेरीले ठूलो संख्यामा परिणामहरू फर्काउँछ, LIMIT
क्लज प्रयोग गरेर फर्काइएका परिणामहरूको संख्या सीमित गर्नुहोस्। यसले लोड घटाउन र क्वेरी गति सुधार गर्न मद्दत गर्छ।
उदाहरणका लागि, "उत्पादनहरू" तालिकाबाट 10 परिणामहरू मात्र फर्काउन, तपाईंले निम्न क्वेरी प्रयोग गर्न सक्नुहुन्छ:
SELECT * FROM products LIMIT 10;
INNER JOIN
को सट्टा प्रयोग गर्नुहोस् JOIN
INNER JOIN
नियमित भन्दा राम्रो प्रदर्शन गर्दछ JOIN
। INNER JOIN
दुबै तालिकामा मिल्दोजुल्दो रेकर्डहरू मात्र ध्यान दिँदा प्रयोग गर्नुहोस् ।
उदाहरणका लागि, " " फिल्डमा आधारित orders
" " र " " तालिकाहरूमा सामेल हुन, तपाईंले निम्न क्वेरी प्रयोग गर्न सक्नुहुन्छ: customers
customer_id
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;
सावधानीपूर्वक अस्थायी तालिकाहरू प्रयोग गर्नुहोस्
अस्थायी तालिकाहरू निश्चित अवस्थामा प्रयोग गर्न सकिन्छ, तर तिनीहरू सावधानीपूर्वक प्रयोग गर्न आवश्यक छ किनभने तिनीहरूले प्रश्नहरू ढिलो गर्न सक्छन्। यदि सम्भव भएमा अस्थायी तालिकाहरू प्रयोग गर्नबाट बच्न क्वेरीहरूलाई अनुकूलन गर्ने बारे विचार गर्नुहोस्।
उदाहरणका लागि, निम्न क्वेरीमा अस्थायी तालिका प्रयोग गर्नुको सट्टा:
CREATE TEMPORARY TABLE temp_table SELECT * FROM products;
तपाईँले मूल तालिकाबाट सीधै क्वेरी डेटाको लागि क्वेरीलाई अनुकूलन गर्ने प्रयास गर्न सक्नुहुन्छ।
फाइन-ट्यून MySQL कन्फिगरेसन
MySQL पुन: कन्फिगर गर्ने बारे विचार गर्नुहोस् प्रणाली स्रोतहरूको अधिकतम बनाउन र तपाईंको अनुप्रयोगको आवश्यकताहरूसँग पङ्क्तिबद्ध गर्नुहोस्। यसले मेमोरी, बफर साइज, जडान सीमा, र अन्य प्यारामिटरहरू कन्फिगर गर्ने समावेश गर्दछ। MySQL कागजातलाई सन्दर्भ गर्नुहोस् र तपाइँको विशिष्ट वातावरण अनुरूप कन्फिगरेसन समायोजन कसरी गर्ने सिक्नुहोस्।
अनावश्यक डाटा मेटाउनुहोस्
अनावश्यक डाटा मेटाउनुहोस् वा डाटाबेस साइज घटाउन र क्वेरी गति सुधार गर्न पुरानो डाटा ब्याकअप गर्नुहोस्।
उदाहरणका लागि, यदि तपाईंसँग logs
पुरानो लग रेकर्डहरू भण्डारण गर्ने तालिका छ भने, तपाईंले निम्न क्वेरी प्रयोग गरेर एक वर्षभन्दा पुराना रेकर्डहरू मेटाउन सक्नुहुन्छ:
DELETE FROM logs WHERE created_at < '2022-01-01';
मेमोरी प्रयोग गर्नुहोस् cache
cache
बारम्बार कार्यान्वयन गरिएका प्रश्नहरू र भर्खरै पहुँच गरिएको डाटा भण्डारण गर्न MySQL को मेमोरी कन्फिगर गर्नुहोस् । यसले डिस्क पहुँच समय कम गर्न र क्वेरी गति सुधार गर्न मद्दत गर्दछ।
उदाहरण को लागी, 1GB को आकार संग मेमोरी क्यास कन्फिगर गर्न को लागी, तपाईले MySQL को "my.cnf" कन्फिगरेसन फाइल निम्नानुसार परिमार्जन गर्न सक्नुहुन्छ:
[mysqld]
...
query_cache_type = 1
query_cache_size = 1G
कृपया ध्यान दिनुहोस् कि माथिका उदाहरणहरू उदाहरणीय छन् र तपाईंको वास्तविक डाटाबेसको संरचना र आवश्यकताहरू अनुसार समायोजन गर्न आवश्यक छ। यी अप्टिमाइजेसन प्रविधिहरू लागू गर्नु अघि र पछि प्रभावकारितालाई ध्यानपूर्वक परीक्षण गर्नुहोस् र मूल्याङ्कन गर्नुहोस् कि तिनीहरू तपाईंको विशिष्ट वातावरणको लागि उपयुक्त छन्।