webForumDet fria alternativet

vilket är snabbast

Databaser & SQLur Databashanterare & SQL

3 svar · 276 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

jag har en tabell där jag har massa kolumner. när jag från mitt script ska infoga data fylls inte alla kolumner i med info från användaren utan det ska vara några som ska vara fördefinerade av mig.

jag undrar nu vilken sätt som är bäst att göra detta på, ska man lägga in det från scriptet eller ska man sätta dessa värden som default (eller nåt liknande, kommer inte riktigt ihåg vad det hette).

en annan sak: har för mig jag läste nånstans att man kunde snabba upp sökningarna i databasen genom att sätta index eller nåt sånt på de komumner som söks ofta på, stämmer det?

Medlem sedan dec. 200012 464 inlägg
#2

Prestandamässigt har det ingen betydelse hur du gör. Jag tycker att det är bättre att sätta det som ett defaultvärde, då det i så fall kommer att fungera i alla sammanhang.

en annan sak: har för mig jag läste nånstans att man kunde snabba upp sökningarna i databasen genom att sätta index eller nåt sånt på de komumner som söks ofta på, stämmer det?

Om det går fortare med ett index beror på vilken typ av sökningar som du gör. I vissa fall kan det innebära enormt stora skillnader i svarstid.

Medlem sedan jan. 20001 372 inlägg
#3

okej, villken typ av sökningar snabbar det upp mycket då?

sen kom jag att tänka på en sak till, har hört talas om nånting som heter stored procedures eller nåt sånt. hur fungerar detta och vad e det bra för?

Medlem sedan dec. 200012 464 inlägg
#4
select * from ogrish where aleb like '%abc%'

i en sådan sökning har det ingen betydelse om aleb är indexerad

select * from ogrish where bleb > 15000

Det kan ha betydelse om bleb är indexerad. Det beror på optimering och om man har samlat statistik om fördelningen i tabellen. (Jag vet inte hur Mysql fungerar i detta sammanhang.)

select * from ogrish where cleb between 1 and 10
select * from ogrish where cleb = 12

I dessa sökningar kommer index att användas.

sen kom jag att tänka på en sak till, har hört talas om nånting som heter stored procedures eller nåt sånt. hur fungerar detta och vad e det bra för?

Stored procedures är program som en användare skriver. Det är ett programmeringsspråk där man kan hantera sådant som i vanliga fall skulle ske på klienten. I stället för att skriva ett php-skript som hämtar data och utför beräkningar så kan man lägga den hanteringen i en stored procedure. Man kan vinna mycket prestanda genom att man slipper skicka data mellan databasen och klienten

Mysql har inte stored procedures.

136 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)