package com.alibaba.druid; import org.junit.Test; import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; public class SqlParserPerformaceTest { @Test public void testDruidParser(){ String sql = "select t.rowid from (select col1,col2,col3 from person_table where age>12 and name='asss' and schoolId||'tomo'||schoolId =? order by item) t"; OracleStatementParser s=new OracleStatementParser(sql); SQLSelectStatement select=s.parseSelect(); System.out.println(select); } @Test public void testDrud(){ // String sql="SELECT '2008-12-31 23:59:59' + INTERVAL 1 SECOND from dual"; String sql="select value from dual where end_time < date_sub(now(), interval 5 day)"; { MySqlStatementParser parser = new MySqlStatementParser(sql); // parser.Select(); } for(int i=0;i<10;i++){ long start=System.nanoTime(); MySqlStatementParser parser = new MySqlStatementParser(sql); SQLSelectStatement select= parser.parseSelect(); System.out.println((System.nanoTime()-start)/1000); // System.out.println(select); } } }