Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Что выгднее [2]
Форумы портала PHP.SU » » Вопросы новичков » Что выгднее

Страниц (2): « 1 [2]
 

16. Bio man - 11 Сентября, 2012 - 15:38:32 - перейти к сообщению
tuareg пишет:
Если все же хочешь сразу выбрать всю БД.
Тогда сформируй json отправь его клиенту и там уже работай
это мне и так понятно, но перед отправкой данные нужно обработать должным образом а цикл из тысячей итераций думаю будет не очень быстрым.
17. Мелкий - 11 Сентября, 2012 - 15:46:57 - перейти к сообщению
tuareg пишет:
я бы вообще сделал дополнительный столбик, в котором хранил первую букву. И делал выборку по нему.

+1. Триггеры для поддержки поля актуальным в помощь.
18. Bio man - 11 Сентября, 2012 - 15:58:40 - перейти к сообщению
Мелкий, то есть лучше всего колонку создать? Если не трудно, можно триггер привести?
19. Мелкий - 11 Сентября, 2012 - 16:18:32 - перейти к сообщению
Bio man, как ни странно - но да. Поле будет быстрее, сгруппируется для получения всех встречающихся букв по индексу (+ count по индексу можно считать), выбирается потом тоже по индексу успешно.

А триггера - сейчас, только вспомню, как они пишутся Ха-ха
Вроде так:
CODE (SQL):
скопировать код в буфер обмена
  1. DELIMITER //
  2. CREATE TRIGGER `makeFirstLetterField` BEFORE INSERT ON `table`
  3.  FOR EACH ROW BEGIN
  4. SET new.letterfield=substr(new.`textfield`,1,1);
  5.   END
  6. //
  7. DELIMITER ;

Для апдейта идентичен вроде. А для делита - и не нужен.
20. Bio man - 11 Сентября, 2012 - 16:29:20 - перейти к сообщению
Мелкий
спасибо, сработало.

 

Powered by ExBB FM 1.0 RC1