Элементарный запрос, быстрей или медленей

123
[Удален]
#11
DenIT:
Так я вроде и привел пример. Что именно непонятно?

ну вы привели выборку, я в пхп как и многочисленная аудитория данного форума не ас :) не могли бы вы наглядный пример привести от начало до конца.

DI
На сайте с 03.01.2007
Offline
123
#12

В php ровным счетом ничего не изменится (хотя вы не показали весь код, да и непонятно, как же все-таки у вас выводится 5 новостей, когда LIMIT 0,1).

Ну, разве что кроме определения массива идентификаторов категорий:


$ArrayWithID = array(1,2,3,10,15);

Дальше ставите приведенный выше запрос вместо старого.

А потом - уже нужно с помощью php обрабатывать полученные данные для получения нужного результата (какой раньше был результат - известно только вам). Но это уже совсем другая задача, изначально ведь было:

KosoyRoman:
Ребята, собственно нужны знатоки mysql. Может возможно как нить перестроить данный запрос

:)

Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
Dreammaker
На сайте с 20.04.2006
Offline
569
#13
DyaDya:
подготавливать отдельную таблицу и вносить в неё данные уже отсортированными!!!

собственно, у таблиц нет такого понятия как отсортированность - данные ложаться как им захочется. В общем, направление верное куда-то что-то вносить, а вот конкретная реализация необязательно будет работать.

D
На сайте с 21.06.2006
Offline
168
#14
Dreammaker:
собственно, у таблиц нет такого понятия как отсортированность - данные ложаться как им захочется.

В пустую таблицу данные ложатся по порядку

ТС, проблема не в запросах, а в коде, который их генерирует. Несколько путей решения уже озвучили.

Appstorespy - платформа анализа мобильных сторов | Publa.io - готовая инфраструктура для приема платежей и оплаты рекламных кабинетов в бурже
AN
На сайте с 05.06.2004
Offline
243
#15
SELECT * FROM ".$basepref."_news WHERE catid = 1 ORDER BY public DESC

1. Индексы по catid и public есть?

2. SELECT * - вам действительно нужны все поля из этой таблицы?

Dash:
В пустую таблицу данные ложатся по порядку

Далеко не факт.

Размещу ваши баннеры на посещаемых сайтах. Места еще есть! Возможен безнал. (/ru/forum/324945) Нужны копирайтеры/рерайтеры - медики. Пишите в личку. (/ru/forum/676932)
Dreammaker
На сайте с 20.04.2006
Offline
569
#16
Dash:
В пустую таблицу данные ложатся по порядку

Положите их с помощью множественного инсерта и вы можете быть удивлены их "по порядку".

Чтобы не было мучительно больно не рассчитывайте, что порядок в таблице может задаваться простой вставкой.

D
На сайте с 21.06.2006
Offline
168
#17
Dreammaker:
Положите их с помощью множественного инсерта и вы можете быть удивлены их "по порядку".

Чтобы не было мучительно больно не рассчитывайте, что порядок в таблице может задаваться простой вставкой.

Я ложу данные INSERT ... SELECT именно для того, чтобы не использовать сортировку при выборке.

И лежат они там именно так, как нужно.

Конечно, можно положить разными способами, но решать нужно другую задачу.

Dreammaker
На сайте с 20.04.2006
Offline
569
#18
Dash:
И лежат они там именно так, как нужно.

Если Вы не видите суслика - это не значит, что его нет, просто вы его не видели. ;)

Ок, ладно не будем спорить, если вам приятнее считать себя правым, то считайте. Остальным же советую не полагаться на порядок, который был при вставке. Там не сильно больший "заскоки" могут быть, но бывает несколько позиций вставляются не по порядку, по крайней мере, из тех, что я сталкивался при множественном инсерте (INSERT INTO ... (x,x,x,x) VALUES (y,y,y,y), (z,z,z,z,z) .... )

D
На сайте с 21.06.2006
Offline
168
#19

Тоже дам совет. ;)

Если вы занимаетесь снижением нагрузки и готовите специальную выборку/индекс в отдельной таблице, вставляйте данные правильно!

Очистка старых данных TRUNCATE, а не DELETE.

E
На сайте с 14.09.2007
Offline
24
#20
AnNik:
1. Индексы по catid и public есть?

Автор, обратил внимание на этот вопрос?

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий