Hallo!
Ich habe hier einen sonderbaren Fall:
- zwei identische Datenbanken mit gleichem Datenbestand, eine lokal unter XAMPP - mySQL, die identische Datenbank auf der Diskstation - MariaDB.
- eine Tabelle b_entry mit einem FULLTEXT-Index über 3 Spalten (title, shtext, lotext), unter mySQL innoDB, unter MariaDB myISAM (geht nicht anders, sollte aber egal sein).
- ein identisches SELECT (wird eine Suche - ja, Statement ist etwas holprig, wird aber noch optimiert ):
SELECT DISTINCT b.id, b.title, b.shtext, b.lotext
FROM b_entry b, b_category c, b_entry2user eu
WHERE (
(MATCH(b.title, b.shtext, b.lotext) AGAINST('[searchterm]'))
OR (b.title LIKE '%[searchterm]%' OR b.shtext LIKE '%[searchterm]%' OR b.lotext LIKE '%[searchterm]%')
)
AND b.archive = 0
AND (
(b.categoryId = 4 AND b.id = eu.entryId AND eu.userId = [id])
OR (b.categoryId = c.id AND c.parentId = 3 AND b.id = eu.entryId AND eu.userId = [id])
OR (b.categoryId = c.id AND c.parentId = 2)
OR (b.categoryId = c.id AND c.parentId = 1)
);
Bei mySQL wird ein Result mit XX Zeilen geliefert.
Bei MariaDB wird ein leeres Result geliefert, bei gleichem searchterm und gleicher id?
Was übersehe ich hier?!?
Danke für jeden Hinweis! LG
Ich habe hier einen sonderbaren Fall:
- zwei identische Datenbanken mit gleichem Datenbestand, eine lokal unter XAMPP - mySQL, die identische Datenbank auf der Diskstation - MariaDB.
- eine Tabelle b_entry mit einem FULLTEXT-Index über 3 Spalten (title, shtext, lotext), unter mySQL innoDB, unter MariaDB myISAM (geht nicht anders, sollte aber egal sein).
- ein identisches SELECT (wird eine Suche - ja, Statement ist etwas holprig, wird aber noch optimiert ):
SELECT DISTINCT b.id, b.title, b.shtext, b.lotext
FROM b_entry b, b_category c, b_entry2user eu
WHERE (
(MATCH(b.title, b.shtext, b.lotext) AGAINST('[searchterm]'))
OR (b.title LIKE '%[searchterm]%' OR b.shtext LIKE '%[searchterm]%' OR b.lotext LIKE '%[searchterm]%')
)
AND b.archive = 0
AND (
(b.categoryId = 4 AND b.id = eu.entryId AND eu.userId = [id])
OR (b.categoryId = c.id AND c.parentId = 3 AND b.id = eu.entryId AND eu.userId = [id])
OR (b.categoryId = c.id AND c.parentId = 2)
OR (b.categoryId = c.id AND c.parentId = 1)
);
Bei mySQL wird ein Result mit XX Zeilen geliefert.
Bei MariaDB wird ein leeres Result geliefert, bei gleichem searchterm und gleicher id?
Was übersehe ich hier?!?
Danke für jeden Hinweis! LG