Kezdőoldal » Számítástechnika » Programozás » Üdv, adatbázistábla optimalizá...

Üdv, adatbázistábla optimalizálással kapcsolatban lenne kérdésem!?

Figyelt kérdés
Létre kell hoznom egy kb 7-8 oszlopból álló táblát, amibe napi szinten több ezer sort fogok feltölteni. Ebből a táblából valós időben kell adatokat kell lekérdezni különböző szűrésekkel az oszlopokra, kb 5-10 másodperces frissítésekkel. Hogy lehetne ezt úgy optimalizálni, hogy ne legyen lassú a lekérdezés pár hónap elteltével sem, amikor már milliónyi sor lesz benne! Indeyeléssel? Esetleg több táblára osztani? Ebben az esetben bonyolódna a lekérdezés mert több táblából kellene egyszerre kérdezni union-al!? Köszönöm előre a segítésget!
2019. nov. 8. 21:17
 1/10 anonim ***** válasza:
Mi a konkret use case? Ilyen jellegu feladatokra szokott lenni egy kesz megoldas.
2019. nov. 8. 21:21
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
Text file-ok adatait kell feldolgozni és azokat menteni a táblába, majd a táblából bizonyos kimutatásokat csinálni.
2019. nov. 8. 21:27
 3/10 anonim ***** válasza:
Honnan szarmaznak azok a text file-ok?
2019. nov. 8. 22:54
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:
59%
Indexekkel
2019. nov. 8. 23:30
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
Miért lényeges hogy honnan származnak a textfile-ok?Különböző kliensekről elküldöm a szerverre a file tartalmát, amit php kódok feldolgoznak és feltöltik a táblába
2019. nov. 9. 09:17
 6/10 anonim ***** válasza:
59%
Látni kéne a relációs sémát...
2019. nov. 9. 10:42
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
59%

Ha egyetlen táblád van, akkor elég egyszerű a dolog, megfelelő indexek felvételével rendkívül gyorssá tudod tenni a lekérdezéseket, lényegében logaritmikus idejű végrehajtást tudsz elérni.


Ha esetleg nem érted mit jelent a logaritmikus idejű végrehajtás, itt egy példa: Egy log2(n) műveletigényű (logaritmikus) program 10 elemű inputra 4, 1000 elemű inputra 10, 1000000 elemű inputra 20 egységnyi idő alatt fut le. Mint láthatod, az input méretének arányában nagyon lassan növekszik a műveletigény. Megfelelően indexelt adatbázis táblákkal hasonló gyorsaságot tudsz elérni.

2019. nov. 9. 11:50
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
Köszi az eddigi segítséget, relációs séma nincs még, mert ez a feladat a jövőben fog megvalósulni ezért keresem az optimális megoldást, amiben real time és gyors lekérdezéseket tudok majd végrehajtani a táblán(vagy táblákon)
2019. nov. 9. 11:57
 9/10 A kérdező kommentje:
Illetve több olyan oszlop lesz, amiben ismétlődő adatok vannak, ezeket esetleg érdemes külön táblába definiálni, és a nagy táblába csak a definiált tábla id-ját beírni? Így a szöveget ki lehetne váltani egyszerű számra. Ez is gyorsítaná??
2019. nov. 9. 17:07
 10/10 anonim ***** válasza:

Mivel kevés írás és sok olvasás történik, érdemes agresszíven indexelni minden oszlopra, ami a lekérdezésekben szerepelni fog.

Ha olyan DBMS-t használsz, ahol többféle táblamotor van, érdemes a motorok között is válogatni.

2019. nov. 9. 18:32
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!