Если это точно такой же запрос, мы надеемся, что он будет кэширован mysql-query-cache Но вы правы, запрос будет отправлен три раза.
Если я вас правильно понимаю, вы думаете о чем-то другом. как:
lib.mySqlSelect = CONTENT
lib.mySqlSelect ...
plugin.tx_yourplugin.select.cObject < lib.mySqlSelect
Это также приведет к трем SQL-запросам.
Но вы можете использовать LOAD_REGISTER:
plugin.tx_yourplugin.select = {register:mySqlSelect}
plugin.tx_yourplugin.select.insertData = 1
page.1 = LOAD_REGISTER
page.1.mySqlSelect = CONTENT
page.1.mySqlSelect ...
Предполагается, что "select" имеет свойство stdWrap.
Если вы пишете новое расширение, вы можете использовать $GLOBALS['TSFE']->register[$register] = $theValue;