MariaDB Frage [GELÖST]
MariaDB Frage
Hallo,
ich habe eine Vermutung, aber bin mir nicht so ganz sicher.
Ich habe Keyhelp 21.3 (Build 2344) am laufen mit MariaDB 10.5.12.
Kann es sein, dass hier standardmäßig was gecached wird?
D.h. wenn ich was in die DB schreibe (über PHP) dann dauert es ne Weile bis ich es von der DB ausgelesen bekomme.
Kann man das irgendwo deaktivieren?
Gruß
ich habe eine Vermutung, aber bin mir nicht so ganz sicher.
Ich habe Keyhelp 21.3 (Build 2344) am laufen mit MariaDB 10.5.12.
Kann es sein, dass hier standardmäßig was gecached wird?
D.h. wenn ich was in die DB schreibe (über PHP) dann dauert es ne Weile bis ich es von der DB ausgelesen bekomme.
Kann man das irgendwo deaktivieren?
Gruß
- Jolinar
- Community Moderator
- Posts: 3612
- Joined: Sat 30. Jan 2016, 07:11
- Location: Weimar (Thüringen)
- Contact:
Re: MariaDB Frage
AFAIK eigentlich nicht, aber ich arbeite eher auf OS-Ebene als auf Anwendungsebene. Vllt. kann ein Dev Genaueres dazu sagen.
Kannst du das eventuell etwas näher erläutern?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)
Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
- In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
In this color, I write as a moderator and provide moderative guidance or justify moderative interventions - In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
In this color, I write as a community member and share my personal opinions and views
Re: MariaDB Frage
Nein, das passiert sofort.
Hast Du ein konkretes Beispiel?
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
Re: MariaDB Frage
Schreibst und liest du parallel oder ist das Schreiben abgeschlossen, bevor du versuchst das Geschriebene zu lesen? Bis dahin sagen wir mal so, solange du an den Defaulteinstellungen nichts verstellt hast (z.B. autocommit auf 0 gestellt, Default ist 1) und das Schreiben fertig war bevor du anfängst zu lesen, dürfte das eigentlich nicht passieren. Wenn autocommit allerdings nicht aktiviert ist, musst du jede Transaktion mit COMMIT explizit abschliessen. Passiert das nicht und die Verbindung wird vorher beendet, wird ein Rollback der kompletten Transaktion ausgeführt, so dass deine eventuell geschriebenen Daten nicht mehr in der Datenbank stehen. Das könnte man als eine Art Cache ansehen, der erst durch das COMMIT geflusht wird.
Re: MariaDB Frage
hi,
danke für die Antworten!
Wenn ich in die DB schreibe, dann ist es erst nach einer Zeit in der DB wirklich ersichtlich. Auch das Auslesen über PHP liefert mir das Ergebnis nicht sofort. Bekomme es erst nach einer Zeit und dann seh ich es auch erst in der DB.
Hab mal etwas nachgelesen.
Wenn Ich z.B. das hier ausführe, dann liefert er mir "YES" zurück. Somit muss ein Caching an sein.
Wenn ich dann die Cache Size auf "0" stelle
Funktioniert alles einwandfrei. D.h. gleich nach dem Schreiben gibt er mir auch die Daten aus. Jedoch halt nur bis zu dem Zeitpunkt, wo ich MariaDB neu starte oder Keyhelp es neu startet.
Ich benötige das Caching nicht und in meinem Fall ist es auch ziemlich schlecht tatsächlich, da viele User am System arbeiten und dadurch doppelte Kundennummern z.B. entstehen können.
Wenn ich es jedoch in der "50_server" direkt reinschreibe übernimmt er es mir nicht als Standard.
Gruß
danke für die Antworten!
Wenn ich in die DB schreibe, dann ist es erst nach einer Zeit in der DB wirklich ersichtlich. Auch das Auslesen über PHP liefert mir das Ergebnis nicht sofort. Bekomme es erst nach einer Zeit und dann seh ich es auch erst in der DB.
Hab mal etwas nachgelesen.
Wenn Ich z.B. das hier ausführe, dann liefert er mir "YES" zurück. Somit muss ein Caching an sein.
Code: Select all
SHOW VARIABLES LIKE 'have_query_cache';
Code: Select all
SET GLOBAL query_cache_size = 0;
Ich benötige das Caching nicht und in meinem Fall ist es auch ziemlich schlecht tatsächlich, da viele User am System arbeiten und dadurch doppelte Kundennummern z.B. entstehen können.
Wenn ich es jedoch in der "50_server" direkt reinschreibe übernimmt er es mir nicht als Standard.
Gruß
Re: MariaDB Frage [GELÖST]
Hallo,
Um das von dir gewünschte zu ermitteln solltest du eher das folgende abfragen:
In der 90-tuning.cnf stehen übrigens ein paar Werte zum Cache, dein Eintrag in der 50-server wird durch den 90-tuning überschrieben.
Nur zum richtig-stellen: Das sagt laut Dokumentation (https://mariadb.com/kb/en/query-cache/) nichts darüber aus, ob es aktiv ist oder nicht, es sagt nur aus, ob es theoretisch verfügbar wäre:klicksor wrote: ↑Tue 22. Mar 2022, 07:34 Wenn Ich z.B. das hier ausführe, dann liefert er mir "YES" zurück. Somit muss ein Caching an sein.Code: Select all
SHOW VARIABLES LIKE 'have_query_cache';
Unless MariaDB has been specifically built without the query cache, the query cache will always be available, although inactive. The have_query_cache server variable will show whether the query cache is available.
Um das von dir gewünschte zu ermitteln solltest du eher das folgende abfragen:
(https://mariadb.com/kb/en/server-system ... cache_type)SHOW VARIABLES LIKE 'query_cache_type';
In der 90-tuning.cnf stehen übrigens ein paar Werte zum Cache, dein Eintrag in der 50-server wird durch den 90-tuning überschrieben.
Code: Select all
# Query Cache Configuration
query_cache_limit = 64M
query_cache_size = 128M
query_cache_type = 1
Mit freundlichen Grüßen / Best regards
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Re: MariaDB Frage
Hei
Der Query Cache kann hier meiner Meinung nach eigentlich nicht Ursache des Problems sein, siehe
https://mariadb.com/kb/en/query-cache/# ... ache-works
Grüße,
Lars
Der Query Cache kann hier meiner Meinung nach eigentlich nicht Ursache des Problems sein, siehe
https://mariadb.com/kb/en/query-cache/# ... ache-works
D.h. ein INSERT, UPDATE, ... leert den Cache für die betreffenden Queries auf der Tabelle, so dass ein erneutes SELECT nicht aus dem query cache bedient wird, sondern die Daten frisch holt. Alles andere würde einen query cache auch komplett unbrauchbar machen in einem Datenbank-Kontext.Each time changes are made to the data in a table, all affected results in the query cache are cleared. It is not possible to retrieve stale data from the query cache.
Grüße,
Lars
Re: MariaDB Frage
Hi,
Nur eben wenn ich den Wert in der DB den query_cache_size auf 0 setze.
Danke!
Gruß
Thomas
die Seite hab ich auch gelesen, aber leider macht er das bei mir offensichtlich nicht.Der Query Cache kann hier meiner Meinung nach eigentlich nicht Ursache des Problems sein, siehe
https://mariadb.com/kb/en/query-cache/# ... ache-works
Each time changes are made to the data in a table, all affected results in the query cache are cleared. It is not possible to retrieve stale data from the query cache.
D.h. ein INSERT, UPDATE, ... leert den Cache für die betreffenden Queries auf der Tabelle, so dass ein erneutes SELECT nicht aus dem query cache bedient wird, sondern die Daten frisch holt. Alles andere würde einen query cache auch komplett unbrauchbar machen in einem Datenbank-Kontext.
Nur eben wenn ich den Wert in der DB den query_cache_size auf 0 setze.
Das habe ich tatsächlich auch. Aber danke für die 90-tuning.cnf Info! Dann werde ich es da mal direkt deaktivieren um zu schauen, ob das Bestand hat, wenn ein Keyhelp Update kommt. Denke aber schon.Um das von dir gewünschte zu ermitteln solltest du eher das folgende abfragen:
SHOW VARIABLES LIKE 'query_cache_type';
(https://mariadb.com/kb/en/server-system ... cache_type)
Danke!
Gruß
Thomas