Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да оптимизирам MySQL заявката за актуализация?

Ако все още нямате индекс на number трябва да добавите един -

CREATE INDEX table_number ON table (number);

АКТУАЛИЗИРАНЕ Опитайте това -

UPDATE inv t1
INNER JOIN inv t2
    ON t1.name = t2.name
    AND t1.id <> t2.id
SET t1.flag_qty = 1;

Можете да създадете вашата таблица само с дубликатите, като изберете тези данни директно в друга таблица, вместо първо да правите тази актуализация на флага.

INSERT INTO duplicate_invs
SELECT DISTINCT inv1.*
FROM inv AS inv1
INNER JOIN inv AS inv2
    ON inv1.name = inv2.name
    AND inv1.id < inv2.id

Ако можете да обясните логиката, поради която редовете се изтриват от inv таблица може да се окаже, че целият процес може да се извърши в една стъпка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на SELECT INTO OUTFILE в MySQL

  2. Как да изчислим оборота всеки семестър

  3. Недефиниран индекс:потребителско име в C:\wamp\www\Website\storeadmin\admin_login.php..и същото за парола

  4. jquery php вмъква данни в mysql, без да опреснява страницата

  5. Оптимизиране на заявки въз основа на клъстерирани и неклъстерни индекси в SQL?