1 个不稳定版本
0.1.0 | 2023年1月17日 |
---|
#86 在 #互联网计算机
每月 43 次下载
215KB
226 代码行
ICSQLite
ICSQLite 是互联网计算机上的云 SQLite 数据库,为开发者提供 SDK 以使用。
我们的目标是帮助开发者快速将 web2 应用迁移到互联网计算机。
使用方法
在您的 Cargo.toml 中
[dependencies]
ic-sqlite = "0.1.0"
限制和建议 & 建议
调用总周期数限制,如果单个 SQL 查询检索的行数超过一定数量,调用将崩溃。
SQL 语句建议
- 严格遵循数据库优化的规则
- 索引构建必须在空表中完成
- WHERE 查询必须针对主键或索引字段进行过滤
- 尽量少使用 NOT,!=,<>,!<,!> NOT EXISTS, NOT IN, NOT LIKE, OR,否则将忽略索引并导致全表扫描
SQL 命令性能基准
SQL 命令 |
性能计数器 1w 单表数据 |
性能计数器 10w 单表数据 |
性能计数器 50w 单表数据 |
性能计数器 100w 单表数据 |
---|---|---|---|---|
创建表 | 1194347 | 1433766 | 2565609 | 4066020 |
创建索引 (空表) |
884588 | 1122419 | 2241730 | 3601724 |
计数 | 209847 | 2995943 | 15183853 | 30392494 |
插入 | 350256 | 349635 | 351731 | 355381 |
选择 (WHERE 主键) |
265363 | 265960 | 265345 | 268112 |
选择 (WHERE 索引字段) |
312389 | 314594 | 314666 | 319276 |
选择 (WHERE LIKE 字段) |
178263088 | 1784671532 | 单条消息执行限制 | 单条消息执行限制 |
更新 (WHERE 主键) |
385492 | 389192 | 391599 | 394111 |
更新 (WHERE 索引字段) |
239384 | 237908 | 237993 | 240998 |
删除 (WHERE 主键) |
429190 | 259541 | 419615 | 423064 |
IC Canister 简单示例使用
依赖项
~26–36MB
~559K SLoC