select + limit összes sor száma php -> adoDBben
van egy mySQL lekérdezésem, amivel 50 "adagokban" listázom li a sorokat. Viszont a lapozáshoz szükségem lenne az összes sor számához. Mivel ez egy több nagy táblát érintő lekérdezés, ezért jó lenne, ha nem kellene egy új selectet írni, ami annyival különbözne, hogy lehagyom a limitet. Ez megoldható valahogy? Fontos lenne, hogy adoDBben működjön...ez működik konzolban, de phpval nem tudom ezt megoldani.
Valakinek valami 5let?
■
SELECT SQL_CALC_FOUND_ROWS * FROM tábla
LIMIT 10;
SELECT FOUND_ROWS();
Valakinek valami 5let?
COUNT?
Amúgy nem értem, ha 50-esével listázod ki a sorokat, akkor miért LIMIT 10, de biztos bennem a hiba...
(Vagy a teljes kérdést nem értem?)
Az adoDB-ben nics valami lapozó? Én nem használtam, de a manualjában tuti van valami pager.
egy lekérdezésbe kellene
Olyan megoldást szeretnék, hogy egyszerre egy darab lekérdezéssel kérek le x db sort a limit segítségével, ugyanakkor ez a lekérdezés visszatérne a limit nélkülis sorok számlával is. Pont azért kellene, hogy ne keljen még egy COUNT(*)-os lekérdezés, mivel több, nagy méretű táblából kérdezek.
Maga a lapozó már kész van, az adoDB ilyen téren nem érdekel.
mi nem működik?
A COUNT(*)-os querykkel MySQL/InnoDB páros esetén vigyázni kell, mert komoly teljesítmény csökkenést okozhat, ezért adott esetben érdemes segédtáblát használni a sorszámok tárolására.
Ezenkívül érdemes lehet tesztelni azt is, hogy ezzel a 2 query-s módszerrel jársz jobban, vagy a count(*)-gal, mert írtak az SQL_CALC_FOUND_ROWS-ról olyat, hogy néha nem túl hatékony, és volt amikor tényleg az jött ki, hogy a következő jellegű query nem volt lassabb:
Felhő
majd kitesztelem
Az általad írt megoldást fogom használni, aztán majd a teszteket kibukik, hogy mennyire hatékony...
Köszi szépen!
Miért ne tudnál?
sp nekem is eszembe jutott
cache
nem count(*)...
Nem COUNT(*)-ot mondtam, hanem COUNT(id)-t ;-)
Úgy hiszem, hogy egy indexelt mezőre tuti gyors választ ad (normális esetben az id minimum UNIQUE, gyakrabban AUTOINCREMENT is). Nagyon tévednék?
hát ezt passzolom