powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / тяжелый запрос ?
16 сообщений из 41, страница 2 из 2
тяжелый запрос ?
    #39079367
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: sql
1.
2.
3.
SELECT * 
FROM  `dle_post` 
WHERE  `category` LIKE  '%,%'



или другой разделитель , вместо запятой
0 записей
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079374
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай бэкап базы
в таблицу добавь поле category_int тип int
скопируй в него данные из category с преобразование типов в category_int
выполни 18291402 с заменой category на category_int
сравни
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079376
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS
после

авторДобавь в запись несколько категорий и потом выдай нам селект по этой записи. Я уже непомню какой там разделитель.
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079512
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovruЕсть табличка 100 000 записей, есть запрос который выполняется 14 секунд, как его можно сделать быстрее ?
А зачем вы поместили туда 100000 записей ?

В чем вообще проблема производительности блогообразных движков и школьных манимейкеров ? А я расскажу :
Эти движки типа wp и dle рассчитаны на маленький частный блог. Нужно брать и постить собственный контент. Каждый день. И 10000 записей у вас образуются, допустим, лет за 50. Сайт, который их накопил и просуществовал все эти годы, найдет и аппаратные ресурсы и людей чтобы движок на более удобный.

А манимейкеры чтобы сделать сайты захламляющие поисковый индекс, просто покупают или генерят базы на 100000 записей, а потом мучаются с ними.
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079514
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwind, ну по всей видимости как реализованы там запросы к БД и структура БД, то эти движки явно не рассчитаны на большие нагрузки... я тут посмотрел очень много кривых запросов, которые можно было реализовать по другому как минимум..
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079527
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netwindА зачем вы поместили туда 100000 записей ?записей там будет гораздо больше чем 100 000! ну и движек на php очень хорошо отрабатывает, поэтому не надо рассказывать сказки, единственное, запросы к БД были сделаны стандартно и их надо переписать...
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079528
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovruВот тот же самый результат, но будет выполняться почти мгновенно.

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name 
    FROM dle_post 
    WHERE 
    (category >= 1 && category <= 3081)
    || (category >= 3087 && category <= 3382)
    ORDER BY date DESC 
    LIMIT 81830, 10


такой запрос вообще не работает


Запрос не работает, потому что операции больше/меньше применяются только числам, а у вас числа хранятся как строки.
Возможные варианты:
1) исправить тип с varchar(200) на int и тогда все будет летать
2) кастить (преобразовывать) тип при каждом селекте, например так

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, cast(category as unsigned) cat
    FROM dle_post 
    WHERE 
    (cat >= 1 && cat <= 3081)
    || (cat >= 3087 && cat <= 3382)
    ORDER BY date DESC 
    LIMIT 81830, 10
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079551
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, спасибо за разъяснение! Там таких запросов с десятка 2 похожих между собой по выборке и все они тормозят, ща поправлю!
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079552
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix ,
там скорее всего не просто так длина поля задана в 200, наверно в этом поле может быть содержимое типа перебора чисел, через разделитель...
поэтому твой вариант может не всегда работать.
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079559
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяLumix ,
там скорее всего не просто так длина поля задана в 200, наверно в этом поле может быть содержимое типа перебора чисел, через разделитель...
поэтому твой вариант может не всегда работать.
нет, там будет 1 число
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079562
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что выведет
Код: sql
1.
2.
3.
4.
SELECT
  MAX(LENGTH(dle_post.category)) AS expr1
FROM dle_post
GROUP BY dle_post.category
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079564
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079566
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну там всего ~4000 ,
и только из одного разряра, в первоначальном вопросе - до 3 или 4 разрядов.
но если гарантируешь - можешь воспользоваться вариантом Lumix
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39079749
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovru

Вот учитесь у Lumix, человек по существу пишет... А ваша беспредметная демагогия никому не нужна... тем более вопрос был вообще о другом...

по существу тебе написал я, второй ответ.
но ты же читать не хочешь...
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39080050
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
loginovruтам будет 1 числоНа фоне varchar(200) это заявление выглядит подозрительно :) Откуда такая уверенность?
вадяно если гарантируешь - можешь воспользоваться вариантом LumixВпрочем, если речь о втором варианте(кастование), то о производительности опять же можно забыть.
...
Рейтинг: 0 / 0
тяжелый запрос ?
    #39080122
loginovru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirloginovruтам будет 1 числоНа фоне varchar(200) это заявление выглядит подозрительно :) Откуда такая уверенность?
вадяно если гарантируешь - можешь воспользоваться вариантом LumixВпрочем, если речь о втором варианте(кастование), то о производительности опять же можно забыть.
потому что там переделано, парсер, сканирует файлы на винтах и если появляются новые то добавляет их в БД... из админки ничего не добавляется....
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / тяжелый запрос ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]