Скорость работы таких запросов

Nikoshka

Запросы видаSELECT Table1.coll1, Table2.coll2, Table2.coll3 FROM Table1,Table2 WHERE Table1.coll1 > 15Вот такие например достаточно быстро работают? Т.е. чтобы не дублировать информацию по два раза и связывать 2 таблицы только через один индекс?Нормально ли они будут работать для довольно большой таблицы с информацией (5000-100000 записей) и таблицы категорий, которая и не такая большая, но размером где-то с 20-200 штук бывает, хотя поразному, но хочу сделать, чтобы оптимизированнее было.
7 ответов

Nikoshka

Ты написал декартово поризведение таблиц.Ты Уверен, что тебе оно нужно?


Nikoshka

Т.е. чтобы не дублировать информацию по два раза и связывать 2 таблицы только через один индекс?Что-то в этом SELECT вообще не видно связи между таблицами.Нельзя ли поподробнее, что требуется получить в результате


Nikoshka

Гм, вот на счет декарта даже не представляю себе о чем вы.Но нужно из одной таблицы взять основные данные и немного из другой в одном запросе. Я хотел немного этих данных перенести из одной в другую.Ну например таблица записей с материалами и таблица с категориями. В таблице с записями я отмечаю каждую запись ее уникальным id, но при запросе и выборке материалов нужно еще получить и другие параметры категории, кроме id. Их можно просто продублировать в базе материалов, но в Access я видел подобные запросы в которых данные берутся из двух таблиц разом. Может стоит так сделать? Т.е. не дублировать в таблице с материалами информацию о категориях и брать их сразу в запросе?Вот только как это все аккуратно сделать - непонятно :( И как быстро это будет работать тоже непонятно.


Nikoshka

запрос вида SELECT * FROM Table1, Table2 выбирает все комбинации строк из обеих таблицтак что на таблицах с 100000 и 200 записями в результате у вас получится таблица с 20 000 000 записяминормально это или нет - как вы сами думаете?вообще, я подозреваю, что запрос просто написан неверно, и вам нужно совсем другое


Nikoshka

Что-то в этом SELECT вообще не видно связи между таблицами.
Точно не знаю, как их оформлять правильно. Но если вы в Assecc видели подобное.Вот тут написано: http://www.phpclub.ru/detail/article/2000-12-06


Nikoshka

Вот только как это все аккуратно сделать - непонятно :( И как быстро это будет работать тоже непонятно.
вам нужно "соединение" или "JOIN"


Nikoshka

Вот тут написано: http://www.phpclub.ru/detail/article/2000-12-06
и? по этой ссылке написано подробно все, что вам нужно