Skip to content
This repository was archived by the owner on Jul 7, 2024. It is now read-only.

Page auteur, récupération des posts partagés, lenteur systématique #295

@biggrizzly

Description

@biggrizzly

Hello,

Je fais un petit peu d'étude des lenteurs que je trouve en augmentation sur SeenThis, sur le serveur de remplacement, en cours de préparation.

J'ai un point qui m'interroge. En regardant les slow queries, la boucle BOUCLE_messages génère des lignes avec des clauses IN à répétition, contenant parfois plusieurs milliers d'ID.

J'ai remplacé dans seenthissq_fonctions.php, pour tester :

return '(id_auteur='.$me.' OR '.sql_in('id_me', array_map('array_pop', sql_allfetsel('id_me', 'spip_me_share', 'id_auteur='.$me))).')';

Par :

return '(id_auteur='.$me.' OR id_me IN (select id_me from spip_me_share where id_auteur='.$me.'))';

Et c'est plus rapide.

Mais est-ce que c'est souhaitable ?

Je constate que des appels à sql_in, il y en a d'autres.

N'est-il pas souhaitable de tous les remplacer de cette façon ? Cela laisse à priori l'opportunité à l'optimiseur de travailler à ce qu'il sait faire.

J'ai le même genre d'interrogation sur les auteurs bloqués, qui génèrent là aussi parfois des requêtes lentes, exemple ci-dessous. OK, c'est une seule seconde, mais s'il y a plus performant, autant l'utiliser.

# User@Host: stprod[stprod] @ localhost []
# Thread_id: 393  Schema: stprod  QC_hit: No
# Query_time: 1.005543  Lock_time: 0.000183  Rows_sent: 300  Rows_examined: 644183
# Rows_affected: 0  Bytes_sent: 7009
SET timestamp=1714224947;
SELECT id_me,UNIX_TIMESTAMP(date) as date
FROM `stprod`.spip_me
WHERE 1=1 AND ((id_auteur NOT IN (4737,3300,3141,5023,30,2713,2816,3743,2390,1771,3191,3298,2865,1325,2692,6994,3749,4248,5007,4202,4250,4312,4095,4034,4363,4555
,4757,4760,4781,4484,4833,4750,4860,3722,4900,4938,5006,5078,5018,5080,5097,5038,4935,5145,5151,5150,5155,5205,5206,5149,5281,5189,5435,5437,5416,4357,5499,5553,
5748,5605,5327,5735,5737,5738,4719,5749,655,5754,5811,5791,5704,5894,5931,553,6017,6103,6109,6121,5429,6122,6123,6138,6145,6148,6193,6001,6218,6212,5444,5820,628
1,2555,6196,6381,6420,6427,4934,6462,6472,7769,5898,6521,8074,6692,6678,4861,2925,6741,6747,6755,6785,6798,6815,6377,6503,6905,6992,6995,7007,6993,7036,6575,7081
,7093,7100,7105,7099,7098,7027,7040,7097,6309,7119,7688,10580,7332,7363,7371,7373,7376,12002,7443,8193,6982,7516,7542,4227,7439,6634,3026,7593,7470,7625,9614,763
1,7618,7663,7657,7591,7671,7678,7687,7707,7745,7722,7787,7751,7825,7827,7710,7837,7660,7885,6719,6760,3851,7879,7906,7921,7911,7937,7918,7963,5100,7964,7927,7991
,7453,7084,7993,7996,7887,7997,7643,8036,8044,10118,5421,8079,8090,8410,8103,8096,7833,8167,8189,8195,7823,8217,8588,8314,8320,8342,8349,8374,8373,8338,8387,8394
,8398,8399,8393,8426,8436,8439,8441,8442,8453,8285,8486,8519,824,8524,8339,8527,8477,3671,8558,8579,8484,8581,8583,8591,8595,8616,8620,8624,8625,8630,8632,8637,8
533,8645,8672,8703))
AND (id_auteur NOT IN (8704,8712,8719,8725,8753,8765,8780,8781,8784,8787,8790,8803,8824,8747,8893,8827,8909,8999,9014,9048,9070,9073,9082,9083,9095,9104,9120,918
4,9195,9212,9219,9228,9240,9244,9177,9367,9381,9383,9410,9424,9509,9512,9517,9516,9515,9578,9511,1274,9723,9770,9804,9816,9838,9853,9876,9930,9932,9938,9936,9942
,9943,9954,9973,10037,10054,10061,10084,10097,10112,10115,10139,10140,10142,10147,10153,10158,10162,10167,10170,10169,10174,10177,10180,10181,10186,10190,1820,10
200,10203,10212,10217,10246,10257,10258,10263,10281,10285,10313,10322,10345,10036,10368,10389,10399,10412,10418,10424,10426,10430,10436,10438,10440,10451,10456,1
0466,10488,10468,10499,10525,10530,10547,10550,10612,10621,10629,10647,10650,2813,10692,10720,10724,10729,10745,10752,10756,10766,10781,10787,10786,10794,10736,1
1234,692,10823,10824,10828,10576,10899,10903,10905,10882,10922,10925,10931,10906,10943,10949,10950,10951,11031,11032,11030,11082,11087,11106,7436,7187,11117,1112
6,11130,11146,11148,11201,11214,11205,11228,11244,11274,3351,11283,11282,11288,11290,11289,12020,11344,11345,11243,11350,11367,8503,11375,11376,11348,11393,11396
,11404,11425,5926,11451,11490,7289,11491,11499,11507,11506,11515,11514,11517,11521,11556,11578,11608,11613,11180,11307,11322,11610,11625,11633,11635,11640,11641,
3069,11648,11650,11661,11667,11669,11670,11699,11705,11706,11686,11709,11719,10325,11730,11743,11745,11749,11733,11758,8355,11762,11769,11777,11793,11794,11800,1
1818,11812,11822,11823,11828))
AND (id_auteur NOT IN (11829,11832,11835,11839,11844,11850,11852,11872,11877,11899,11901,11897,11905,11906,11878,10362,6195,11928,11941,11923,11935,7574,11969,11
970,12005,6569,11849,11605,11747,12047,12053,12061,12064,12089,1952,12099,12093,12044,11936,12125,12123,12138,12140,11960,12143,12146,12152,12162,12165,12166,121
69,12171,12176,12182,12185,789,12201,12204,12205,12207,12210,12216,12218,12219,12222,12225,12241,12246))) AND id_parent=0 AND statut="publi"
ORDER BY date DESC
LIMIT 300 /* /all + 178.33.21.166 */;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions