From fb1650fee7316f552b9311395258b552e6045f2b Mon Sep 17 00:00:00 2001 From: mengzhuo Date: Tue, 23 Oct 2018 11:03:04 +0800 Subject: [PATCH] add miops & fix README --- README.md | 4 ++++ doc/images/miops.jpeg | Bin 0 -> 10792 bytes 2 files changed, 4 insertions(+) create mode 100644 doc/images/miops.jpeg diff --git a/README.md b/README.md index fc1c344..731d06d 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化 ## 功能特点 * 跨平台支持(支持Linux, Mac环境,Windows环境理论上也支持,不过未全面测试) +* 目前只支持MySQL语法族协议的SQL优化 * 支持基于启发式算法的语句优化 * 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT) * 支持EXPLAIN信息丰富解读 @@ -35,7 +36,10 @@ SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化 * 欢迎通过Github Issues提交问题报告与建议 * QQ群: 779359816 * [Gitter](https://gitter.im/xiaomi-dba/soar) 推荐 + soar-qq XiaoMI-SA + ## License [Apache License 2.0](http://github.com/XiaoMi/soar/blob/master/LICENSE). + diff --git a/doc/images/miops.jpeg b/doc/images/miops.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..828d4b6261599aebe68846068720060a6c888b86 GIT binary patch literal 10792 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 K0Rja4?EeDRY+pG5 literal 0 HcmV?d00001 -- GitLab