Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
#1 · Zasláno: 19. 9. 2013, 14:01:33
http://stackoverflow.com/questions/6069237/fastest-way-to-count-exact-number-of-rows-in-a-very-large-table označená odpoveď:
--Note, sp_spaceused uses this DMV SELECT Total_Rows= SUM(st.row_count) FROM sys.dm_db_partition_stats st WHERE object_name(object_id) = 'MyBigtable' AND (index_id < 2) Tento sql mám vo mysql_query() ako $query. ďalej neviem, ako dostať to číslo do premennej $rows? |
||
juriad Profil |
IdemeNaHavaj:
To řešení se týká SQL Serveru. Pokud jej nepoužíváš, je pro tebe nepoužitelné. |
||
IdemeNaHavaj Profil |
#3 · Zasláno: 19. 9. 2013, 14:07:46
A ako sa dá najrýchlejším spôsobom načítať počet údajov v mysql ak ich je tam velmi velké množstvo?
|
||
polonium Profil |
#4 · Zasláno: 19. 9. 2013, 14:10:15 · Upravil/a: polonium
pokud vis jak dostat data z dotazu SELECT tak vis jak se dostat k poctu tech radku v SUM(). Pouzij SUM(st.row_count) as Total_Rows. A zbytek je jasny :)
IdemeNaHavaj: Mrkni sem http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/ |
||
IdemeNaHavaj Profil |
#5 · Zasláno: 19. 9. 2013, 14:21:42
No ja si to dám do napr. COUNT(*) ten sql ale potom čo ďalej s tím? Keď naťítavam údaje tak ešte dávam $data = mysql_fetch_object($query) a potom dáta načítam $data->blabla
|
||
DJ Miky Profil |
#6 · Zasláno: 19. 9. 2013, 14:27:08
Když si ten sloupec rozumně pojmenuješ, třeba:
SELECT COUNT(*) AS pocet FROM tabulka $data->pocet .
|
||
IdemeNaHavaj Profil |
Dobre ide to rýchlo, ďakujem, ešte jeden malý problém mám s ktorým si neviem rady.
Do toho SQL ešte pridávam WHERE stlpec IN ('nieco1','nieco2','nieco3','nieco4') atď niekedy aj 20x je tam to niečo, a to mi spomaluje tento proces. Čím by sa dalo nahradiť WHERE .. IN ()? |
||
peta Profil |
Mas ten sloupec v indexech (klicich)? Jestli neni indexovany, tak to pujde pomalu.
Jestli jsou ta slova casto pouzivana, mozna by se dala udelat tabulka slov a dosadit misto nich cisla z tabulky slov. Prohledat tabulku se 100 slovy je rychlejsi nez hledat mezi 100.000 radky retezec. |
||
polonium Profil |
#9 · Zasláno: 19. 9. 2013, 15:28:08
Spis nez IN muzes skusit psat sloupec = neco1 OR sloupec = neco2, ale jak rika peta vytovrit vazbu 1:N mezi tabulkama by bylo lepsi
|
||
IdemeNaHavaj Profil |
#10 · Zasláno: 19. 9. 2013, 15:49:18
stačilo to teda nastaviť ako index, díky
|
||
Časová prodleva: 11 let
|
0