[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