Sonraigh na réimsí riachtanacha sna SELECT
fiosrúcháin
In ionad gach réimse den SELECT
cheist a roghnú, ná roghnaigh ach na réimsí riachtanacha chun an t-ualach a laghdú agus chun luas an cheist a fheabhsú.
Mar shampla, mura bhfuil suim agat ach faoi ainm agus seoladh an chustaiméara, cuir an cheist seo ina ionad:
SELECT * FROM customers;
le
SELECT name, address FROM customers;
Cruthaigh innéacsanna
Index
cabhrú le MySQL
sonraí a chuardach agus a aisghabháil níos tapúla. Sainaithin réimsí a úsáidtear go minic i WHERE
, JOIN
, nó ORDER BY
clásail agus cruthaigh innéacsanna dóibh.
Mar shampla, " " sa orders
tábla, má customer_id
úsáidtear an réimse go minic i " " " " WHERE
nó JOIN
ceisteanna, is féidir leat innéacs a chruthú mar a leanas:
CREATE INDEX idx_customer_id ON orders(customer_id);
Úsáid cineálacha cuí innéacsanna
MySQL
soláthraíonn sé cineálacha éagsúla innéacsanna mar B-tree
, hais, agus full-text
. Roghnaigh an cineál innéacs cuí bunaithe ar do riachtanais iarratais chun an fheidhmíocht is fearr a chinntiú.
Mar shampla, más gá duit téacs a chuardach laistigh de réimse sonraí, is féidir leat innéacs a chruthú full-text
mar seo a leanas:
CREATE FULLTEXT INDEX idx_description ON products(description);
Ceisteanna a bharrfheabhsú
Bain úsáid as EXPLAIN
chun plean feidhmithe an fhiosrúcháin a fheiceáil agus chun anailís a dhéanamh ar conas MySQL
a fheidhmíonn sé é. Cuidíonn sé seo leat saincheisteanna feidhmíochta a aithint agus ceisteanna a bharrfheabhsú trí úsáid a bhaint as innéacsanna nó trí cheisteanna a athscríobh.
Mar shampla, chun plean ceiste ceiste a fheiceáil SELECT
, rith an t-ordú seo a leanas:
EXPLAIN SELECT * FROM orders WHERE customer_id = 123;
Teorainn a chur le líon na dtorthaí a thugtar ar ais
Nuair a fhilleann ceist ar líon mór torthaí, teorannaigh líon na dtorthaí a thugtar ar ais ag baint úsáide as an LIMIT
gclásal. Cuidíonn sé seo le hualach a laghdú agus le luas fiosrúcháin a fheabhsú.
Mar shampla, gan ach 10 dtorthaí a thabhairt ar ais ón tábla "táirgí", is féidir leat an cheist seo a leanas a úsáid:
SELECT * FROM products LIMIT 10;
Bain úsáid INNER JOIN
as in ionad JOIN
INNER JOIN
fheidhmíonn níos fearr ná rialta JOIN
. Bain úsáid as INNER JOIN
nuair nach dtugann tú aird ach ar thaifid a bhfuil meaitseáil acu sa dá tábla.
Mar shampla, chun páirt a ghlacadh sna táblaí " orders
" agus " customers
" bunaithe ar an customer_id
réimse, is féidir leat an cheist seo a leanas a úsáid:
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;
Bain úsáid as táblaí sealadach go cúramach
Is féidir táblaí sealadacha a úsáid i gcásanna áirithe, ach ní mór iad a úsáid go cúramach mar is féidir leo moill a chur ar cheisteanna. Smaoinigh ar cheisteanna a bharrfheabhsú ionas nach n-úsáidfear táblaí sealadacha más féidir.
Mar shampla, in ionad tábla sealadach a úsáid sa cheist seo a leanas:
CREATE TEMPORARY TABLE temp_table SELECT * FROM products;
is féidir leat an cheist a bharrfheabhsú chun sonraí a fhiosrú go díreach ón tábla bunaidh.
Cumraíocht MySQL mionchoigeartaithe
Smaoinigh ar MySQL a athchumrú chun an leas is fearr a bhaint as acmhainní an chórais agus chun ailíniú le riachtanais d’fheidhmchláir. Áirítear leis seo cuimhne a chumrú, méideanna maolánacha, teorainneacha nasc, agus paraiméadair eile. Déan tagairt don doiciméadú MySQL agus foghlaim conas an chumraíocht a choigeartú chun freastal ar do thimpeallacht ar leith.
Scrios sonraí gan ghá
Scrios sonraí nach bhfuil gá leo nó déan cúltaca de sheanshonraí chun méid an bhunachair shonraí a laghdú agus luas fiosrúcháin a fheabhsú.
Mar shampla, má tá " " tábla agat logs
ina stórálfar seantaifid loga, is féidir leat taifid atá níos sine ná bliain a scriosadh ag baint úsáide as an " " cheist seo a leanas:
DELETE FROM logs WHERE created_at < '2022-01-01';
Bain úsáid as cuimhne cache
Cumraigh cuimhne MySQL cache
chun fiosrúcháin a dhéantar go minic agus sonraí a rochtain le déanaí a stóráil. Cuidíonn sé seo le ham rochtana diosca a laghdú agus luas fiosrúcháin a fheabhsú.
Mar shampla, chun taisce cuimhne a chumrú le méid 1GB, is féidir leat comhad cumraíochta MySQL "my.cnf" a mhodhnú mar seo a leanas:
[mysqld]
...
query_cache_type = 1
query_cache_size = 1G
Tabhair faoi deara gur samplaí léiritheacha iad na samplaí thuas agus gur gá iad a choigeartú de réir struchtúr agus riachtanais do bhunachar sonraí féin. Déan tástáil agus meastóireacht chúramach ar an éifeachtúlacht roimh agus tar éis na teicnící barrfheabhsaithe seo a chur i bhfeidhm chun a chinntiú go bhfuil siad oiriúnach do do thimpeallacht ar leith.