
# FlinkSQL SPLIT_INDEX函数性能优化
#### 使用场景
使用FlinkSQL内置SPLIT_INDEX函数解析一个字符串的多个字段时，开启SPLIT_INDEX函数性能优化后，当解析同一个字符串的多个字段时，复用上次split的解析结果，提升计算性能。
#### 约束与限制
本章节仅适用于MRS 3.6.0-LTS及之后版本。
#### 使用方法
配置Flink作业时，可通过在FlinkServer WebUI的Flink作业开发界面添加自定义参数"table.optimizing.split-index-optimization"为"true"开启SPLIT_INDEX函数性能优化，可参考[集群连接模式创建Flink SQL作业](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_24024.html)。
SQL示例
```
CREATE TABLE datagen (
  auction BIGINT,
  bidder BIGINT,
  price BIGINT,
  channel VARCHAR,
  url VARCHAR
)
WITH
  ('connector' = 'datagen');
CREATE TABLE blackhole (
  auction BIGINT,
  bidder BIGINT,
  price BIGINT,
  channel VARCHAR,
  dir1 VARCHAR,
  dir2 VARCHAR,
  dir3 VARCHAR
)
WITH
  ('connector' = 'blackhole');
INSERT INTO
  blackhole
SELECT
  auction,
  bidder,
  price,
  channel,
  SPLIT_INDEX (url, '/', 3) as dir1,
  SPLIT_INDEX (url, '/', 4) as dir2,
  SPLIT_INDEX (url, '/', 5) as dir3
FROM
  datagen;
```
