一个数据入库程序,从文本文件拼Insert SQL,一个insert 插入300行数据,解析和优化占了1半多的时间,除了减少value行数有什么方法能降低解析时间不?
可以使用 Prepare statement 来减少 Parse 处理,如果后端是 Java 方式,可以试着按照这个方式做一下脚本。
https://docs.pingcap.com/zh/tidb/dev/sql-prepared-plan-cache#忽略-com_stmt_close-指令和-deallocate-prepare-语句
https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
Java 最佳实践 https://docs.pingcap.com/zh/tidb/v5.2/java-app-best-practices#使用-prepare-api
c++的程序,另外insert into values (),(),(),(),() 300组value,这种的能直接Prepare吗,写300组(?,?,?)占位符太复杂了吧
还好吧,如果 insert 比较多,目前只有两个办法,减少 value ,使用 Prepare Statement 做预处理。
后面还有300组变量,要是能有个全局的执行计划缓存 能减少点执行计划生成时间
上 tispark…![]()
spark 写入吗?好思路?


