имеется 2 таблицы 1. tabl_1 = 213 000 строк и 23 столбца 2. tabl_2 22 000 строк и 4 поля теперь делаю вот так SELECT count("tabl_1"."KODIM") FROM "schema"."tabl_1" -- все пркрасно работает отдает результат . SELECT count("tabl_1"."KODIM") FROM "schema"."tabl_1", "schema"."tabl_2"; -- уходит и уводит за собой сервер куда в себя .. после пары минут ожидания остановил скрипт не дождавшись ответа О_о наверняка у вас возникнет вопрос - а что это я такое делаю.. ответ у меня функцию ( для datatables) - тут надо сначало выполнить запрос , потом спросить сколько всего строчек было в запросе а потом узнать сколько всего строчек было в таблице .. вся выборка идет из 2 таблиц .. поэтому и в count попали обе.. а теперь вопрос - что за столь интересный глюк и как от него можно избавиться ? или же мне переписывать функцию для datatables чтобы можно было вводить запросы чуть ли не в ручную ? Добавлено спустя 54 минуты 45 секунд: маньяк коллега на работе дождался результата - вот такой получился результат 4199062136 записей 470,672 сек КАК ТАК ???
SELECT COUNT(*),(SELECT COUNT(*) FROM table2) FROM table1 З.Ы. только нафига считать, я так и не понял )
мне вообще не нужна 2 таблица =) смотрите Код (PHP): public static function datatables($schema,$sTable,$sIndexColumn,array $aColumns,$where='' ){ ... $sQuery = "SELECT \"$sIndexColumn\", \"".str_replace(" , ", " ", implode("\", \"", $aColumns))."\" FROM \"$schema\".\"$sTable\" $sWhere $sOrder $sLimit; "; .... $sQuery = "SELECT count(\"$sIndexColumn\") FROM \"$schema\".\"$sTable\" $sWhere"; } вот так я ее вызываю main::datatables("DOGOVORA", "IMUSCH\", \"DOGOVORA\".\"VYPIS_KOM1", "IMUSCH\".\"KODIM", array( 'LIT','NOMKOM','NAZKOM', 'RASPOM', 'UR', 'SKOM','SZEM','k','NDOG','KAZNA','ARENDA','VID','USERKOR','DATE_PER','PRIM' )," \"IMUSCH\".\"KODIM\" = \"VYPIS_KOM1\".\"KODIM\" AND \"IMUSCH\".\"ARXNOM\" = '".$_GET['ARXNOM']."'" ); а ладно .. забейте - завтра сделаю datatables2 куда буду такие "веселые" задачи сплавлять в функцию будут передаваться готовые запросы .. для выборки .. для count и для другого count ( который я не показал тут)