Доброго времени суток. У меня есть такой вопрос. Мне нужно оптимизировать запрос с выборкой значений по лимиту.
или подсказка как спроектировать БАЗУ. Для того что бы было можно было записать текст для события и фотографии к событию.
Это нужно для вставки всех картиок по определенному evrnt_id И разделение вывода на страници.
Входные данные.
CREATE TABLE `SRC`(
`id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY UNIQUE ,
`event_id` int(10) NOT NULL ,
`src` VARCHAR(55) NOT NULL ,
`alternate` VARCHAR(20) NOT NULL,
FOREIGN KEY (event_id) REFERENCES TEXTS(id)
)ENGINE = MyISAM DEFAULT CHARSET =utf8 COLLATE = utf8_unicode_ci;
CREATE TABLE `TEXTS`(
`id` INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY UNIQUE ,
`big_text` VARCHAR(200) NOT NULL ,
`small_text` VARCHAR(80) NOT NULL ,
`datetime` DATETIME NOT NULL
)ENGINE = MyISAM DEFAULT CHARSET =utf8 COLLATE = utf8_unicode_ci;
К этим таблицам запрос такого рода.
SELECT t.id,s.src,s.alternate,t.small_text,t.datetime FROM TEXTS as t
INNER JOIN SRC s ON s.event_id=t.id
INNER JOIN (SELECT id FROM TEXTS ORDER BY id LIMIT 3 OFFSET 14) t2
ON t.id=t2.id;
Вот запрос номер 2
SELECT t.id,s.src,s.alternate,t.small_text,t.datetime FROM TEXTS as t
INNER JOIN SRC s ON s.event_id=t.id WHERE event_id=3;
вот его EPLAIN
Вот нужно ли делать 3 таблицу или можно так обойтись и как ускорить запрос .
Вот собственно сам вопрос как добиться того что бы небыло прочитанно 17 строк и выведено все что нужно, а выводилось конкретно от 14 id таблици TEXTS. В общем ускорить запрос, но что бы было разделение по 3 event_id.
Возможно тут дело в организации стуктуры базы нужен совет. Заранее спасибо.