Documentation du code de SPIP et de ses plugins

SPIP

optimiser.php

Gestion des optimisations de la base de données en cron

Table of Contents

Constants

_AUTEURS_DELAI_REJET_NOUVEAU  = 45 * 24 * 3600

Functions

genie_optimiser_dist()  : int
Cron d'optimisation de la base de données
optimiser_caches_contextes()  : mixed
Vider les contextes ajax de plus de 48h
optimiser_base()  : void
Optimise la base de données
optimiser_base_une_table()  : mixed
Lance une requête d'optimisation sur une des tables SQL de la base de données.
optimiser_sansref()  : int
Supprime des enregistrements d'une table SQL dont les ids à supprimer se trouvent dans les résultats de ressource SQL transmise, sous la colonne 'id'
optimiser_base_disparus()  : void
Suppression des liens morts entre tables

Constants

_AUTEURS_DELAI_REJET_NOUVEAU

public mixed _AUTEURS_DELAI_REJET_NOUVEAU = 45 * 24 * 3600

Functions

genie_optimiser_dist()

Cron d'optimisation de la base de données

genie_optimiser_dist(int $t) : int

Tache appelée régulièrement

Parameters
$t : int

Timestamp de la date de dernier appel de la tâche

Return values
int

Timestamp de la date du prochain appel de la tâche

optimiser_caches_contextes()

Vider les contextes ajax de plus de 48h

optimiser_caches_contextes() : mixed

optimiser_base()

Optimise la base de données

optimiser_base([int $attente = 86400 ]) : void

Supprime les relicats d'éléments qui ont disparu

Parameters
$attente : int = 86400

Attente entre 2 exécutions de la tache en secondes

Tags
note

Heure de référence pour le garbage collector = 24h auparavant

optimiser_base_une_table()

Lance une requête d'optimisation sur une des tables SQL de la base de données.

optimiser_base_une_table() : mixed

À chaque appel, une nouvelle table est optimisée (la suivante dans la liste par rapport à la dernière fois).

Tags
see
sql_optimize()
global

int $GLOBALS ['meta']['optimiser_table']

optimiser_sansref()

Supprime des enregistrements d'une table SQL dont les ids à supprimer se trouvent dans les résultats de ressource SQL transmise, sous la colonne 'id'

optimiser_sansref(string $table, string $id, object $sel[, string $and = '' ]) : int
Parameters
$table : string

Nom de la table SQL, exemple : spip_articles

$id : string

Nom de la clé primaire de la table, exemple : id_article

$sel : object

Ressource SQL issue d'une sélection (sql_select) et contenant une colonne 'id' ayant l'identifiant de la clé primaire à supprimer

$and : string = ''

Condition AND à appliquer en plus sur la requête de suppression

Tags
note

Mysql < 4.0 refuse les requetes DELETE multi table et elles ont une syntaxe differente entre 4.0 et 4.1 On passe donc par un SELECT puis DELETE avec IN

Return values
int

Nombre de suppressions

optimiser_base_disparus()

Suppression des liens morts entre tables

optimiser_base_disparus([int $attente = 86400 ]) : void

Supprime des liens morts entre tables suite à la suppression d'articles, d'auteurs, etc...

Parameters
$attente : int = 86400

Attente entre 2 exécutions de la tache en secondes

Tags
note

Maintenant que MySQL 5 a des Cascades on pourrait faire autrement mais on garde la compatibilité avec les versions précédentes.

pipeline_appel

optimiser_base_disparus


        
On this page

Search results