Nu stiu la MariaDB, ca eu am de-a face mai mult cu Oracle. Poti sa incerci "ANALYZE TABLE <table_name>", care posibil ca da shutul dorit. Documentata e aici: https://mariadb.com/kb/en/analyze-table/ E un link acolo despre InnoDB Persistent Statistics <https://mariadb.com/kb/en/innodb-persistent-statistics/> , unde zice ca "Before MariaDB 10.0 <https://mariadb.com/kb/en/what-is-mariadb-100/>, InnoDB statistics were not stored on disk, meaning that on server restarts the statistics would need to be recalculated, which is both needless computation, as well as leading to inconsistent query plans.". Suna familiar ?
Da' cum ziceam - nu ma pricep la MariaDB. Daca nu merge cu "analyze", nu dati cu pietre. Mihai On Tue, Apr 23, 2024 at 1:20 PM Petru Rațiu via RLUG <rlug@lists.lug.ro> wrote: > Ma poate ajuta cineva sa inteleg la ce se uita mariadb (cu engine-ul > innodb) cand decide query plan la un query? Problema mea e ca am niste > query-uri care se fac mult mai greu pe master fata de slave care au date > identice, diferenta fiind ca slave-ul are date refacute dintr-un dump > recent (si resincronizat). Query planul arata diferit intre cele doua > servere si in trecut cand am mai avut problema asta s-a rezolvat dupa ce am > "optimizat" tabelele implicate (cu un alter table force). > > Stiu eu asa din legendele Olimpului ca planul se face pe baza unor > statistici pe indecsi mentinute in background, dar nu m-am lamurit din > documentatie unde sunt tinute, cum sa le urmaresc si daca le pot da un sut > mai simplu fara sa fac alter care dureaza 10 minute. Am gasit niste povesti > despre mysql.innodb_index_stats dar la o prima vedere si aia e replicata si > am oricum o jena sa modific chestii pe acolo fara sa inteleg. Also, nu m-am > prins daca am vreun mecanism de-a-l convinge pe mariadb sa zica cum a ajuns > la concluziile din explain. > > Ce carti de mysql am prin casa trec mai rapid peste subiectul asta si am o > banuiala ca implementarea de innodb din mariadb s-ar putea sa faca > lucrurile putin altfel (as putea sa ma dau prin codul sursa dar nu prea > sunt familiarizat cu internals, prefer sa intreb inainte). > > Mersi, > > -- > P. > _______________________________________________ > RLUG mailing list > RLUG@lists.lug.ro > http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro > _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro