Оптимизация выбора SQL - MySQL - PullRequest
0 голосов
/ 21 апреля 2011

Пожалуйста, помогите мне в этом

Структура таблицы

Идентификатор (первичный ключ) Текст

Чтобы найти текст, что мне написать?

select Text from table where ID=1  

или

select Text from table where ID=1 limit 1

Другая структура таблицы

Родительская таблица
PID (pk) ID

Дочерняя таблица
ID (pk) PID (fk)

что мне написать, чтобы быстро удалить?

delete from ChildTable where ID=1;

или

delete from ChildTable where ID=1 and pid=1;  [i know the PID]

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Просто используйте запросы только с первичным ключом.

1 голос
/ 21 апреля 2011

Первые два утверждения эквивалентны. Он никогда не должен возвращать более одной строки, поэтому добавление предела 1 является излишним.

Для удалений это не должно иметь значения. Mysql должен сначала искать по идентификатору, так как это самый эффективный индекс. Должна быть возвращена только одна строка, и, следовательно, столбец PID является избыточным, и в худшем случае это может привести к путанице в mysql с использованием менее эффективного плана запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...