[TYPO3-german] Re: typoscript db query performance issue
Alex B.
info at asphodelos.de
Sat Dec 17 14:08:08 CET 2016
Vielen Dank für die Hinweise/Hilfe.
Das Problem liegt leider nicht in der Syntax, diese ist ok, nur etwas veraltet - "andWhere" ist deprecated wie ich nun gesehen habe. Ich habe daher auf "where" umgestellt.
Die Performance-Probleme werden offenbar von der Anzahl der MySQL-Rows verursacht. Wenn ich "max" z.B. auf 10 stelle, ist die Anfrage wieder schnell. Allerdings befinden sich in dem record-storage mit der verwendeten pid (168) nur ca. 200 News-Items -- das sollte für einen normalen db-query doch eigentlich sehr wenig sein?
Mein Ziel ist es News-Items auszulesen deren Titel der selbe ist wie der Titel der aktuell geöffneten News. Bisher hatte ich alle News die einen anderen Titel haben später per jquery aus dem dom entfernt -- um die Datenbankabfrage nun zu verbessern, möchte ich nun den Titel des aktuell geöffneten News-Item per typoscript auslesen und in meine Datenbankabfrage (where) einbinden.
Das bekomme ich leider nicht hin. Hier mein aktueller Code:
# den titel des aktuell geoeffneten news-items auslesen
temp.newsTitle = RECORDS
temp.newsTitle {
dontCheckPid = 1
tables = tx_news_domain_model_news
source.data = GP:tx_news_pi1|news
source.intval = 1
conf.tx_news_domain_model_news = TEXT
conf.tx_news_domain_model_news {
field = title
# htmlSpecialChars = 1
}
wrap = |
}
# for testing, das gibt den titel der aktuell geoeffenten news korrekt aus
# page.800 < temp.newsTitle
# lib.dbquery, diese lib wird dann in ein powermail formular eingebunden
lib.dbquery = CONTENT
lib.dbquery {
table = tx_news_domain_model_news
select {
pidInList = 168
selectFields = title,datetime
recursive = 1
orderBy = datetime ASC
where = (datetime >= '###newsdate###' AND deleted = '0' AND hidden = '0' AND title = '###newstitle###')
markers {
newsdate.data = date:U
# newstitle.data < temp.newsTitle ## does not work
# newstitle < temp.newsTitle ## does not work
# newstitle.data = temp.newsTitle ## does not work
# newstitle = temp.newsTitle ## does not work
}
# max = 20
}
renderObj = COA
renderObj {
10 = COA
10 {
10 = TEXT
10.data = field:title
10.noTrimWrap = ||, |
20 = TEXT
20.data = field:datetime
20.strftime = %d.%m.%Y
30 = TEXT
30.value = [\n]
}
}
}
[end]
Vielen Dank für die Hilfe,
Alex
More information about the TYPO3-german
mailing list