[ 
https://issues.apache.org/jira/browse/IOTDB-122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tian Jiang closed IOTDB-122.
----------------------------

> Support prepared insertion
> --------------------------
>
>                 Key: IOTDB-122
>                 URL: https://issues.apache.org/jira/browse/IOTDB-122
>             Project: Apache IoTDB
>          Issue Type: New Feature
>            Reporter: Tian Jiang
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> As some have mentioned, sql parser(antlr) may consume about 40% of time in 
> ingestion, especially when small sqls executed sent frequently. Luckily, 
> IoTDB insertion sqls are currently all alike and simple, there are 4 most 
> meaningful parts of such sqls: deviceId, measurements, values and time. For 
> such a simple structure, using tools like antlr may be just too heavy.
> Intuitively, PreparedStatement in Standard JDBC interface can be just used 
> for reliving parsing overhead when sqls are similar. I will describe how 
> PreparedStatement works as follow (this is still left to be implemented):
> 1. The user wants to create a prepared insert statement and called 
> `connection.prepareStatement(“Insert”)`;
> 2. The connection matches the parameter string with some templates, finds out 
> it is an insertion and returns an IoTDBPreparedInsertStatement pStmt.
> 3. The user calls `pStmt.setDevice(“root.device1”); pStmt.setTime(100); 
> pStmt.setMeasurements(measurementArray); pStmt.setValues(valueArray);` to set 
> parameters for next insertion.
> 4. The user calls `pStmt.execute()` to execute an insertion.
> 5. The PreparedInsertStatement creates a TSInsertionReq, puts deviceId, 
> measurements, values and time into this request and sends this request to the 
> server.
> 6. The server receives the request, extracts parameters from the request and 
> executes an insertion directly through database engine and return a 
> TSInsertionResp to the user.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to