Ускоряем и оптимизуруем Delete из таблиц

В одной из своих записей я уже рассказывал о способах ускорения insert. В этой записи я расскажу о простейших способах оптимизиции и ускорении удаления строк из таблиц. В принципе, способы удаления схожи со способами вставки во многом.

Итак:

1. Вместо построчного удаления делайте массовое(сразу все строки, которые нужно удалить), т.к. при массовом удалении индекс претерпит изменения лишь раз, вместо постоянного передёргивания при построчном удалении. Например:

вместо

from tablename where field1=2

delete from tablename where field1=3

delete from tablename where field1=4,

лучше записать так -

delete from tablename where field1=2 or field1=3 or field1=4

2. Если при удалении вы уверены, что никто не будет делать запрос к таблице, то делайте «LOCK TABLE».

3. Если есть возможность перефразировать запрос на удаление указывая в разделе WHERE условие по полю первичного ключа, то целесообразно будет сделать именно так. Этот запрос будет не только быстрее, но и не будет блокировать таблицу.

VN:F [1.9.13_1145]
Rating: 9.3/10 (3 votes cast)
Ускоряем и оптимизуруем Delete из таблиц, 9.3 out of 10 based on 3 ratings

Читайте также:

Categories: MySQL, SQL Server, T-SQL Tags: , , ,
  1. 26 Август 2009 в 22:59 | #1

    Спасибо, полезно!

    VA:F [1.9.13_1145]
    Rating: 0.0/5 (0 votes cast)
  1. 26 Август 2009 в 23:20 | #1