UWHustle / HATtrick

Apache License 2.0
29 stars 5 forks source link

Server side prepared statement execution could not work #4

Open cfzjywxk opened 2 years ago

cfzjywxk commented 2 years ago

Prepared execution is an efficient way to execute a statement more than once. It's better to support the server-side prepared statement protocol and add an option for users to enable it as it's widely used in the database production environment.

I am evaluating TiDB using HATtrick and find that the prepared-plan-cache could not be used because the server-side prepared statement execution could not be enabled, while the plan cache feature is essential for OLTP performance evaluation. For example, when JDBC is used, it could be easily enabled by setting useServerPrepStmts=true&useConfigs=maxPerformance&cachePrepStmts=true&prepStmtCacheSize=1000&prepStmtCacheSqlLimit=2048 in the db connection URL.

elenamilkai commented 2 years ago

Hi @cfzjywxk, we used ODBC 5.1 drivers to connect to TiDB. So, you probably need to change the value of no_ssps to zero. We didn't enable the prepared-plan-cache in the experiments of none of the systems, thanks for the suggestion.