ugrás a tartalomhoz

Igényfelmérés: sql benchmark cikk

solkprog · 2015. Okt. 19. (H), 20.49
Sziasztok

Igényt mérnék fel: Lenne igény arra hogy írjak egy cikket arról hogy milyen sql-t írjunk ha figyelni akarunk a teljesítményre?
Vagyis példul tábla sorát a count(*)-al, vagy pl count(id) kérjük le. Mindezt erre kihegyezett - phpban megírt - sql tesztelő library-val indokolva (ami a tesztet többször lefuttatja, számol maximum, minimum, átlag, és medián futási időt). Library-t github-on megosztanám, parancssoros, OOP, és unit test-elt volna.

Kérdés 2: ha library-t megosztom még a cikk megírása előtt, írnátok ti is-e hozzá teszteket?
 
1

SQL

Poetro · 2015. Okt. 19. (H), 21.03
És milyen SQL lenne? MySQL, PostgreSQL, MSSQL esetleg Oracle?
2

is-is.

solkprog · 2015. Okt. 19. (H), 21.17
próbálnék általános igazságokat tenni ami minden db-re igaz. (annál is inkább mert anno azt olvastam hogy az adatbázis szoftverek licence tiltja az egymással összehasonlítható teszteredmények közlését. Vagyis olyat nem írhatok hogy ez a teszt MsSQL alatt 0.12 PostgreSQL alatt meg 0.11 alatt futott le, de azt igen hogy 3 adatbázis közöl 2-ben ez a gyorsabb, bővebb infóért meg futtasd le a tesztet te)

Github-on mellékelnék vagrant configokat (valószinüleg puphpet configokat) amiken lefuttattam a teszteket.
Terv szerint: MySQL, MariaDB, PostgreSQL. és ha sikerül életet lehelnem vagrant alatt (sose próbáltam nem linuxot) akkor MsSQL, és talán Oracle is lenne
3

Licensz

Hidvégi Gábor · 2015. Okt. 19. (H), 22.00
A PostgreSQL licenszében biztosan nincs ilyen kitétel.
4

megnéztem

solkprog · 2015. Okt. 19. (H), 22.19
Most megnéztem és egy 2003-ban kiadott könyvben a Microsoft és az Oracle (és az Informix) nél említik a tiltást.
Egyébként a könyv az "SQL teljesítményfokozás", a cikk (és tesztek) megírás előtt a átolvasnám könyvet. Nem a könyv alapján lennének megírva a tesztek/cikk, de alapul venném a könyvet. Nekem is érdekes volna hogy 2003 óta mennyit változott-e a helyzet, változott-e.
5

Hát igény az szerintem lenne

bamegakapa · 2015. Okt. 19. (H), 23.25
Hát igény az szerintem lenne bőven.
6

Én baromira díjaznám! Légy

tisch.david · 2015. Okt. 20. (K), 08.27
Én baromira díjaznám! Légy szíves, írj az indexelésről is (indexek száma, szegmensek száma, szegmensek sorrendje, stb.)!

Üdv:

Dávid
7

+1

anti81 · 2015. Okt. 20. (K), 13.32
Érdekelne, főleg MySQL vonatkozásában.
Teszt írását viszont nem tudom vállalni.
8

Szerintem egy

Hidvégi Gábor · 2015. Okt. 20. (K), 18.36
Szerintem egy sebesség-összehasonlító cikknek önmagában nem sok értelme van, hisz az, hogy milyen gyors egy adatbázismotor, csak egy komponens a sok közül, ami alapján meghozzuk a döntést egy projekt elején, melyiket válasszuk. Egyébként is borítékolható a MySQL győzelme, több szempontból is: nagyobb a mögötte lévő közösség, ha általános webes szolgáltatást készítünk a segítségével, akkor ingyenesen használható, gyors, valamint nem kell benne típuskonverziókkal foglalkozni.

Nekünk licenszelési problémák miatt át kellett térni PostgreSQL-re, és bár ez teljesen ingyenes, egy bizonyos szint felett jóval több vele a munka a típusok miatt, nincs hozzá annyi eszköz, cserébe a szabványosság miatt a lekérdezéseink nagy része biztosan működik más SQL motorok alatt, míg a MySQL-ben megírtakról ez nem feltétlenül mondható el.
Ezen felül a PostgreSQL-ben vannak érdekes funkciók, amik megkönnyítik a munkát (window függvények).
9

félreértettél.

solkprog · 2015. Okt. 21. (Sze), 12.10
Félreértettél pont hogy nem az adatbázisokat hasonlítanám össze (ez az ami tiltott) hanem olyan általánosságokat próbálnék megfogalmazni hogy: count(*) gyorsabb/lassabb mint a count(id). Vagy hogy egyszerre több rekordot gyorsabb mint egymás után külön insert -tel.
10

Valóban

Hidvégi Gábor · 2015. Okt. 21. (Sze), 13.31
Egyébként ez is adatbázis/indexfüggő.
11

Szerintem van rá igény.

inf · 2015. Okt. 23. (P), 18.39
Szerintem van rá igény. Létezik is ilyen tanfolyam, most találtam. Szóval már a címen sem kell gondolkodni: "SQL tuning és teljesítményoptimalizálás". Most, hogy a lényegi munkát letudtam, már csak a cikket kell megírnod. :-D