Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Лимит вывода строк

Сообщения:  [1-8] 

 
 автор: Dimrix   (18.04.2005 в 09:52)   письмо автору
 
   для: cheops   (16.04.2005 в 23:49)
 

Согласен, но ведь многопользовательское сообщение может в себя включять как 2 человек, так и 15... Самое простое это задать запрос без 'in'. Отсортировать в обратном порядке. Создать строковый массив на нужное количесвто записей. Вносить туда даные до полного заполнения или окончания всех нужных записей в базе. И после этого вывести все echo arhiv в цикле. Так я избежу скл-запроса типа "ин" и обрезать строки сам смогу архивом...

   
 
 автор: cheops   (16.04.2005 в 23:49)   письмо автору
 
   для: Dimrix   (16.04.2005 в 19:29)
 

Кстати в чатах не принято в основной базе хранить сообщения месячной давности именно из-за высокой нагрузки, обычно сообщения которые были добавлены более суток назад отправляются в архив, поэтому основная база всегда небольшая и с ней легко и быстро работать. А так да, следует избегать запросов вида "Значение in Поле1" и статраться создать структуру базы таким образом, чтобы запросы были Поле1=Значение", тогда можно индексировать столбцы и это приведёт к значительному увеличению производительности.

   
 
 автор: Dimrix   (16.04.2005 в 19:29)   письмо автору
 
   для: cheops   (15.04.2005 в 22:53)
 

Ну а если это чат, и строчек только в день может быть до нескольких 10 000, то как через пару месяцев запрос будет шерстить базу(ведь поиск будет не как "Поле1=Значение" а как "Значение in Поле1", т.е. поиск по строке, которая содержит нужные символы...)? Можно её(базу) резать или добавлять дополнительный параметр поиска "дата>" (а кстати это идея :-) ). Так предлагаете?

   
 
 автор: cheops   (15.04.2005 в 22:53)   письмо автору
 
   для: Dimrix   (15.04.2005 в 13:57)
 

Хм... вряд ли вам удастья обогнать в скрости MySQL, выполняя её работу средствами PHP. MySQL написана на С, а PHP является интерпретатором и работает заведомо медленнее. Кроме того, база данных MySQL специально создавалась для бытрых манипуляций данными.

   
 
 автор: Dimrix   (15.04.2005 в 13:57)   письмо автору
 
   для: cheops   (15.04.2005 в 12:35)
 

Да, да на MySQL, но лимитирование средствами СКЛ будет накладно я думаю. Это чат. С полями (описываю только нужные для обсуждения) 4ID, Fraza, Rooms, ChID.
4ID - уникальное поле
ChID - УнНомер того, кто сказал
Fraza - то что сказал человек
Rooms - комната где он это сказал или цифра 1..4 (1 - приват, 2 - приват в общак, 3 многопользовательский приват, 4 - многопользовательский приват в общак)
Если Rooms число - то фразу записую как %ID1% %ID2%... текст фразы, где IDx - это ун номер пользователя, кому адресовано сообщение. Соответственно фильтроват базу на 30 сообщений где комната=комнате нахождения и где во всех фразах присутствует %твой ид% будет чуток для машины тяжело. Вот и хочу решить проблему не средствами запросов MySQL, а средствами пхп.
P.S. почему не записываю ИД приёмщиков приватов в комнаты - потому как размер поля Rooms char[20], расширят не хочу, а вот размер поля Fraza char[250] - вполне достаточно для данных, кому мало пусть чаще ентер в чате нажимает :-)))

   
 
 автор: Akira   (15.04.2005 в 12:41)   письмо автору
 
   для: Dimrix   (15.04.2005 в 11:32)
 

MySQL =)

   
 
 автор: cheops   (15.04.2005 в 12:35)   письмо автору
 
   для: Dimrix   (15.04.2005 в 11:32)
 

Хм... а как организовано хранение строк и их вывод?

   
 
 автор: Dimrix   (15.04.2005 в 11:32)   письмо автору
 
 

Добрый день.
Есть ли функции, "обрезающие" старые строки. Ну как в чате, не воводят все, а выводят последние, допустим, 50 фраз

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования