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
મહેરબાની કરીને નોંધ કરો કે ઉપરોક્ત ઉદાહરણો દૃષ્ટાંતરૂપ છે અને તમારા વાસ્તવિક ડેટાબેઝની રચના અને આવશ્યકતાઓ અનુસાર તેને સમાયોજિત કરવાની જરૂર છે. આ ઑપ્ટિમાઇઝેશન તકનીકો લાગુ કરતાં પહેલાં અને પછી અસરકારકતાનું કાળજીપૂર્વક પરીક્ષણ કરો અને તેનું મૂલ્યાંકન કરો જેથી ખાતરી કરી શકાય કે તે તમારા ચોક્કસ વાતાવરણ માટે યોગ્ય છે.