[ 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
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ý: 27.10.23
Príspevky: 1395
Témy: 30 | 30
Bydlisko: Bratislava
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 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME
Mobil: Xiaomi POCO F2 PRO
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
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

517

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

924

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

1057

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

402

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

608

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

535

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

334

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

1274

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

1273

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

757

30.10.2014 15:21

mirom

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

Prepojenie tabuliek

v Databázy

2

932

01.02.2010 13:35

Antuanet

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

porovnanie tabuliek

v Databázy

2

799

06.02.2009 12:30

awtt

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

Prepojenie tabuliek

v Databázy

3

1141

25.02.2008 16:27

stenley

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

spojenie tabuliek

v Databázy

4

434

19.12.2013 11:21

ChickenHunter79

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

Velkost tabuliek

v Databázy

1

496

22.11.2011 13:09

GoodWill

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

vyber z dvoch tabuliek

v Databázy

2

761

27.02.2011 16:57

coldak



© 2005 - 2024 PCforum, edited by JanoF