Variant 2948082048.
Рассмотрим SQL-оператор:
SELECT a.lname, a.fname FROM a JOIN b ON a.lname=b.lname WHERE b.sex = 'male'
SELECT a.lname, fname FROM a JOIN b WHERE b.sex='male'
SELECT a.lname, fname FROM a,b WHERE a.lname=b.lname AND sex='male'
SELECT a.lname, fname FROM a
SELECT a.lname, fname FROM a WHERE lname IN (SELECT lname FROM a JOIN b ON lname WHERE sex='male')
SELECT lname, fname FROM a WHERE lname IN (SELECT lname FROM b)
Пусть таблица vtable содержит (помимо прочих) следующие колонки:
a integer not null b varchar(244) null
Что неправильно в следующем SQL-операторе:
CREATE INDEX myindex ON vtable(a,b)
Рассмотрим компьютерную многопроцессорную архитектуру, где каждый процессор имеет свой собственный кеш, и где все они конкурируют за доступ к системной шине (критическому ресурсу).
Каждый процессор может выполнить одну инструкцию за 500 наносекунд, если инструкция ссылается на закешированные ячейки памяти. Но если происходит кеш-промах, то выполнение инструкций процессором задерживается на дополнительных 2000 наносекунд, причем первую половину этой задержки шина обслуживает запрос, а вторую половину задержки, результат этого запроса помещается в кеш процессора и происходят другие действия, а шина может обслуживать запросы от других процессоров. В среднем, каждая инструкция содержит два указателя на память, а кеш-промахи случаются в 1% указателей.
Какую часть пропускной способности шины использует один процессор, если игнорировать конкуренцию других процессоров?
Какие обьекты СУБД обычно получают параметры от приложения и возвращают некий код результата выполнения?
Какие обьекты в вашей базе помогут избежать безумных запросов с кучей JOINнов (которых обычно городят необученные новички):