Re: [TYPO3-german] typoscript db query performance issue
Lieber Dieter, super, genau das war es. Auf die Lösung mit "REGISTER" war ich nicht gekommen. Ich konnte meine Funktion nun wie gerfordert umsetzen und auch die Ladezeiten sind nun moderat da ich nicht mehr alle News-Items, sondern nur noch eine wenige im query habe. Besten Dank für die Hilfe :-) Viele Grüße Alex ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] typoscript db query performance issue
Hi Alex, Ja, es war noch etwas früh heute morgen. 'where' hat doch ein stdWrap. Also kannst du mit Registern arbeiten. lib.Machwas = COA lib.machwas{ 10 = LOAD_REGISTER 10 { deinTitle.cObject < temp.newsTitle deinTime.cObject = TEXT deinTime.data = date:U } 20 = CONTENT 20 { .. where.stdWrap.dataWrap = (datetime >= '{REGISTER:deinTime}' AND deleted = '0' AND hidden = '0' AND title = '{REGISTER:deinTitle}') ..} 30 = RESTORE_REGISTER So ungefähr sollte die Struktur aussehen. Mit besten Grüßen Dieter Am 17.12.2016 um 14:08 schrieb Alex B.: 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 ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] typoscript db query performance issue
Nachsatz. Ich habe das andWhere in der Dokumentation überlesen. Ist für mich zu früh am Samstag. Sorry. Aber die geschweifte Klammer erscheint mit in deinem Script merkwürdig. {} stehen in TypoScript für Array-Konstruktionen. Laut Doku hat andWhere den Typ SQL-where/stdWrap. Der Ausdruck wird vermutlich nicht ausgewertet. Dieter Am 16.12.2016 um 23:01 schrieb Alex B.: Liebes Forum, ich habe ein Problem mit einer typoscript Datenbankabfrage. Die Abfrage soll tx_news items auslesen und für die Ausgabe in powermail vorbereiten. Das Script läuft fehlerfrei - allerdings erhalte ich wenn ich das typoscript einbinde eine längere Ladezeit von 7-9 Sekunden. Hier mein ts db query: lib.dbquery = CONTENT lib.dbquery { table = tx_news_domain_model_news select { pidInList = 15 orderBy = datetime ASC where = deleted = 0 andWhere = hidden = 0 andWhere { data = date:U wrap = datetime >=| } } 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] } } } Kann jemand nachvollziehen weshalb sich der query so stark auf die Ladezeit auswirkt? (Hosting liegt bei Mittwald auf einem XL v-host). Besten Dank für die Hilfe, Alex ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] typoscript db query performance issue
Lieber Alex, ein Blick in die Documentation zeigt, dass das "select" kein "andWhere" kennen sollte. Wahrscheinlich werden alle Datensätze verarbeitet. Hast du dir einfach mal dein Skript ausgeben lassen? Dieter Am 16.12.2016 um 23:01 schrieb Alex B.: Liebes Forum, ich habe ein Problem mit einer typoscript Datenbankabfrage. Die Abfrage soll tx_news items auslesen und für die Ausgabe in powermail vorbereiten. Das Script läuft fehlerfrei - allerdings erhalte ich wenn ich das typoscript einbinde eine längere Ladezeit von 7-9 Sekunden. Hier mein ts db query: lib.dbquery = CONTENT lib.dbquery { table = tx_news_domain_model_news select { pidInList = 15 orderBy = datetime ASC where = deleted = 0 andWhere = hidden = 0 andWhere { data = date:U wrap = datetime >=| } } 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] } } } Kann jemand nachvollziehen weshalb sich der query so stark auf die Ladezeit auswirkt? (Hosting liegt bei Mittwald auf einem XL v-host). Besten Dank für die Hilfe, Alex ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german