Outils pour utilisateurs

Outils du site


informatique:sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:sql [23/01/2025 17:34] – [Sql Join] cyrilleinformatique:sql [18/09/2026 11:17] (Version actuelle) – [Index date seule] cyrille
Ligne 29: Ligne 29:
 <code sql> <code sql>
 UPDATE `table_a` a  UPDATE `table_a` a 
- LEFT OUTER JOIN `table_b` b ON a.id = b.id  + LEFT JOIN `table_b` b ON a.id = b.id  
  SET a.password = 'abcdef'  SET a.password = 'abcdef'
  WHERE b.id = 195812  WHERE b.id = 195812
Ligne 113: Ligne 113:
 WHERE m.station_id IS NULL WHERE m.station_id IS NULL
 ORDER BY s.id, dates.measured_at; ORDER BY s.id, dates.measured_at;
 +</code>
 +
 +** Question **
 +
 +Dans la bdd de [[https://www.sympa.community/|Sympa]], comment supprimer les abonnés à des listes qui n'existent pas/plus ?
 +
 +Et contourner l'erreur "Error 1093: You can't specify target table for update in FROM clause".
 +
 +** Réponse **
 +
 +<code sql>
 +delete T1 FROM subscriber_table as T1 join (
 + select st.list_subscriber from subscriber_table st 
 + left join list_table lt on lt.name_list = st.list_subscriber
 + where lt.name_list is null
 + group by st.list_subscriber
 +) as T2 on T2.list_subscriber = T1.list_subscriber ;
 </code> </code>
  
Ligne 185: Ligne 202:
 </code> </code>
  
 +==== Index date seule ====
 +
 +Pour faire des stats à la journée, sur la date seule sans tenir compte de l'heure, sur des millions de lignes.
 +
 +<code sql>
 +CREATE TABLE logs (
 + ...
 + `date` DATETIME,
 + `date_only` DATE AS (DATE(`date`)) STORED,  -- Generated column for date part (yyy-mm-dd)
 + ...
 + INDEX(`date_only`)
 +);
 +</code>
 +
 +Avec ''10 453 162'' lignes:
 +  * ''`date` >= "2026-07-08"'' -> 28 secondes
 +  * ''`date_only` >= "2026-07-08"'' -> 2 secondes
  
 ===== Tools ===== ===== Tools =====
 +
 +==== DBeaver ====
 +
 +Excellent, au quotidien. 🤩
 +
 +https://dbeaver.io/
  
 ==== MySQL Workbench ==== ==== MySQL Workbench ====
informatique/sql.1737650075.txt.gz · Dernière modification : de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki