[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Optimalizácie velkých tabuliek

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Vek: 24
NapísalOffline : 18.03.2010 17:36 | Optimalizácie velkých tabuliek

Ahojte, mám veľkú tabuľku, cca 5M záznamov

obsahuje stĺpce
id,nazov,klucoveslova,velkost
toto sa mi automaticky cachuje na disk, jedine kedy sa to využíva je pri hľadaní (klucoveslova) vždy vypíšem všetky id a uložím do cache súboru

potom mám druhú tabuľku ktorá zas obsahuje len id,poceststiahnuti

táto tabuľka mi slúži na to, že sa mi tam dávajú počty stiahnutí, teda sa narozdiel od prevej dynamicky mení+ pri vyhľadávaní sa zoraduje na základe tejto tabulky
načítavajú sa len idčka a zvyšné dáta sa načítavajú z cache
na prvej tabulke mam indexy -> primarny na id a další na klucoveslova
v tej druhej mám primárny na id a další na poceststiahnuti a proste ma zaujíma ako sa dá efektívne pracovať s takýmito tabuľkami, tá druhá sa updatuje, zvyšuje sa počet stiahnutí, potom ešte mám problém s tým že z cache mam vysledky, idčka, ale chcem ich usporiadať podla tej duhej tabulky
a posielam potom sql WHERE in IN(1,2,5,...)
a toto môže byť dosť dlhé, ešte ma napadlo priamo tie cache súbory usporiadavať, ale to ich potom budem musiet generovať dosť často

lebo tieto súbory vznikajú pri hladaní

a ešte jedna vec, keby som chcel search index

tak si spravím tabulky
slova > id,slovo
zhody> id_slova,id_prispevku

a potom je výhodnejšie
Kód:
SELECT z.id_prispevku FROM zhody z INNER JOIN slova s ON z.id_slova = s.id WHERE (slovo LIKE 'slovo' OR slovo LIKE 'ineslovo') AND COUNT(z.id_prispevku) = 2 GROUP BY z.id_prispevku


myslite že nejak takto to je výhodné, alebo proste vypísať pre všetky slova a potom to pomocou php Zprienikovať?

Ďakujem


Offline

Skúsený užívateľ
Skúsený užívateľ
Optimalizácie velkých tabuliek

Registrovaný: 29.10.07
Prihlásený: 12.06.17
Príspevky: 1408
Témy: 28 | 28
Bydlisko: Bratislava
Vek: 36
NapísalOffline : 04.04.2010 9:48 | Optimalizácie velkých tabuliek

Zlozita tema :)

1. Si si isty, ze potrebujes mat pocty stiahnuti vo zvlastnej tabulke? Hlavna tabulka a tabulka s poctom stiahnuti su 1:1. nemam pocit ze tam vidim akukolvek vyhodu pri rozdeleni.

2. Naco si vyhladavania ukladas do cache suboru? Tak isto nemam pocit ze si tym cokolvek urychlis. Pouzivanie WHERE IN je to iste ako by si poskladal dlhu podmienku kde by vsetky hodnoty boli oddeleneo ORom. A to nie je najefektivnejsie riesenie.

3. Pouzivanie vlastnych index tabuliek tiez povazujem za zbytocne. Len duplikujes funkcnost indexov ktoru uz maju databazy implementovanu.

Tak mi nejak unika vyznam toho celeho humbuku. O co vlastne ide? Len o to ze si niekto zada klucove slovo a ty mu chces zobrazit zaznamy ktore ho obsahuju zoradene podla poctu stiahnuti? Skusal si aj riesenie pomocou jednej tabulky? Su taketo vybery velmi pomale? Nebude namiesto pouzivania cache suborov lepsie prekonfigurovat mysql a zvacsit query cache size (ano, aj databazy si cacheuju vysledky vyhladavani). Kolko bezne trvaju tvoje vybery? Kolko zaznamov (radovo) je vo vysledku vyhladavania? Skusal si analyzovat query execution plan pomocou explain?

Viem, namiesto odpovedi som ti dal vela otazok, ale optimalizacia je zlozity proces. Z informacii ktore si nam dal ti neviem dat ziadnu konkretnejsiu radu.


_________________
PC: OS: Windows 10 (64bit) CPU: INTEL Core i5-4440 GPU: ASUS ATI R9280X RAM: Kingston 8GB DDR3 1600MHz MB: MSI B85-G43 Gaming HDD: Seagate 1TB HDD Barracuda SSD: SAMSUNG 120GB HDD 840 EVO CASE: COOLERMASTER N400
Mobil: OS: Android 4.4.2 Model: LG G2 D802 16GB
Offline

Užívateľ
Užívateľ
Optimalizácie velkých tabuliek

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Vek: 24
Napísal autor témyOffline : 04.04.2010 9:50 | Optimalizácie velkých tabuliek

už je to vyriešené :)


 [ Príspevkov: 3 ] 


Optimalizácie velkých tabuliek



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Optimalizácie pre IE6

v HTML, XHTML, XML, CSS

2

308

03.12.2008 17:37

Draex

V tomto fóre nie sú ďalšie neprečítané témy.

FTP Uploadovanie velkych suborov

v Webhosting a servery

1

577

15.04.2010 19:56

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

ako na upload velkych suborov

v PHP, ASP

2

725

24.07.2009 16:54

jozef.rusnak

V tomto fóre nie sú ďalšie neprečítané témy.

zmena velkych na male pismena

v Ostatné programy

1

119

26.03.2016 15:05

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Prehravanie velkych mp4 , Win7 x64 - nejde

v Video programy

4

416

04.01.2012 15:45

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

[Asembler] pocet malych a velkych pismen

v Assembler, C, C++, Pascal, Java

5

216

13.04.2015 20:31

TieSTiK

V tomto fóre nie sú ďalšie neprečítané témy.

Rozbalovanie velkych(10gb) suborov trva vecnost.

v Ostatné programy

1

96

04.12.2012 13:27

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Samsungu ukradli technológiu výroby veľkých AMOLED displejov

v Novinky

8

545

22.04.2012 21:36

delong

V tomto fóre nie sú ďalšie neprečítané témy.

Schéma: Doplnok k multimetru pre meranie veľkých odporov

v Elektronika

3

945

20.06.2007 19:13

DJ_BobiseK

V tomto fóre nie sú ďalšie neprečítané témy.

Google pokoril Red Bull bez veľkých rečí. Jeho viceprezident prekonal Baumgartnerov rekord

v Novinky

13

476

30.10.2014 15:21

mirom

V tomto fóre nie sú ďalšie neprečítané témy.

Prepojenie tabuliek

v Databázy

2

636

01.02.2010 13:35

Antuanet

V tomto fóre nie sú ďalšie neprečítané témy.

porovnanie tabuliek

v Databázy

2

513

06.02.2009 12:30

awtt

V tomto fóre nie sú ďalšie neprečítané témy.

Prepojenie tabuliek

v Databázy

3

872

25.02.2008 16:27

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

spojenie tabuliek

v Databázy

4

132

19.12.2013 11:21

ChickenHunter79

V tomto fóre nie sú ďalšie neprečítané témy.

Velkost tabuliek

v Databázy

1

225

22.11.2011 13:09

GoodWill

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber z 2 tabuliek

v Databázy

7

745

26.01.2011 15:30

emer



© 2005 - 2017 PCforum, edited by JanoF