`

SQLike – a small query engine

    博客分类:
  • ajax
阅读更多

插件官方地址:http://www.thomasfrank.se/sqlike.html

下载地址: http://www.thomasfrank.se/SQLike/SQLike_v_1_021.zip  (附件里也有一份)

文档地址: http://www.thomasfrank.se/SQLike

 

SqlLike是一个用javascript来实现类似于sql语法解析的插件, 可用于对象数组的查询. 在用于大量表示数据的网页上可以很方便的使用.

 

以下是原文转载:

SQLike is a small (10 kB) query engine for JavaScript and ActionScript. Its functionality and syntax is similar to that of SQL and it can be used to query arrays of objects or arrays of arrays.

 

 

Purpose Data structures in JavaScript and ActionScript are JSON :esque and sometimes deeply nested. When they are nested into XML-like structures a query language such as JSONPath (XPath for JSON) is a sound approach. But sometimes you might also use flat table-like structures. In those cases a more SQL-like approach can be more suited for searching, combining and updating data. The purpose of SQLike is to provide a tool for this approach that can be used on the clientside in all browsers (even when you do not have access to SQLite that is now getting to be part of some browser environments AIR, Safari etc.). SQLike is much slower than SQLite, but a handy alternative for small amounts of data.

SQLike is kind of like SQL SQLike supports language elements like SELECT, SELECT DISTINCT, WHERE, GROUP BY, ORDER BY, LIMIT, HAVING, UNION, JOINS (a whole bunch of them), INTERSECT, EXCEPT, UPDATE and INSERT INTO. You will also find aggregate functions like COUNT, SUM, MIN, MAX and AVG. So if you're familiar with SQL you will not be lost, however you will have to adopt to SQLike syntax. Because...

SQLike is not SQL SQLike uses SQL-like syntax but not SQL syntax. In SQLike you write your queries as literal objects and the where and set keywords takes JS/AS-functions as arguments. Furthermore you can include JS/AS-functions in your select statements as well. Another difference is that you don't create or alter tables. Since they are identical to arrays there is no need they are easily created outside SQLike . Furthermore you don't index tables. This might be possible to add to the engine, but I'm not sure if the speed benefits would be huge or how to code an effective index engine as long as the where statement is allowed to be a JS/AS-function, something that I truly like about the API.

The same code base in JavaScript and ActionScript SQLike consists of ECMA-262 code that is identical in JavaScript, ActionScript 2 and ActionScript 3. The only difference between the languages is the opening lines defining SQLike as an object in JavaScript, a class in AS2 and a class inside a package in AS3. All code inside the function q is identical. It has been compressed using the YUI Compressor . The uncompressed version of SQLike is also included in the zip file if you want to play around with it and/or help me develop SQLike further.

Speed is JavaScript faster the ActionScript 3? It's rather interesting to compare the query speed between different browsers/JavaScript engines, ActionScript 2 and ActionScript 3 (Flash player 10). In my case (running Windows on a dual core laptop) JavaScript is fastest in Google Chrome 5 (more than twice as fast as AS3), still faster than AS3 in Safari 4. Also Opera 10.5 beats AS3 most of the time. Firefox 3.6 is more or less on par with AS3, and IE8 is sloooow - but slightly faster than AS2. The JavaScript engine in Chrome V8 is amazingly strong. Makes you wonder what Adobe gained on all the "staticness" they imposed on ECMA-script in the Tamarin engine/AS3. Obviously it wasn't necessary for speed...

分享到:
评论

相关推荐

    SQLike加密工具

    SQLike加密工具是一款专为微型数据库SQLike设计的安全防护软件,其主要目的是为了防止未经授权的用户使用SQLike数据库管理工具直接访问和操作数据库内容。在信息化时代,数据安全至关重要,尤其是对于那些包含敏感...

    sqlike_32_64DLL

    微型SQLike数据库的引用库,32位和64位类库.解决"未能加载文件或程序集System.Data.SQLite, Version=1.0.60.0, XXXXXXXXX"或它的某一个依赖项。试图加载格式不正确的程序。

    android传感计步器demo

    本项目"android传感计步器demo"正是这样一个实例,它展示了如何利用Android系统提供的Sensor API来获取设备的运动数据,并通过SqLike数据库来存储和管理这些信息。 首先,我们来详细了解一下Sensor API。在Android...

    声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)

    声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。该项目可以直接作为毕设、期末大作业使用,代码都在里面,系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+文档说明(高分项目)声发射定位算法 Matlab 仿真项目源码+

    Monkey测试,推包文件

    monkey测试,推包文件

    【中科院1区】Matlab实现向量加权平均算法INFO-RF锂电池健康状态估计算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【源码+数据库脚本+项目讲解】基于JavaWeb+mysql实现的企业电子商城

    一、项目简介 本项目是一套基于JavaWeb电子商城,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse 确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值 二、技术实现 jsp+servlet+mysql 三、开发运行环境 jdk1.8 Tomcat8及其以上版本 Mysql5.5及以上版本 四、系统功能 首页 销售排行 新品上架 特价商品 查看订单 购物车 会员修改 加入购物车 继续购物 去收银台结账 清空购物车 修改数量等功能 详情 https://blog.csdn.net/weixin_43860634/article/details/130983090

    计算机图形学之动画和模拟算法:CrowdSimulation:碰撞检测与响应.docx

    计算机图形学之动画和模拟算法:CrowdSimulation:碰撞检测与响应.docx

    LOL v2数据集,train和test

    LOL v2数据集,train和test

    logistic regression.ipynb

    logistic regression.ipynb

    暴风电视刷机数据 55R5 屏LC550EGY-SJM2 机编60000AM0S00 屏参30173304 V4.0.32版本

    2G+16G主程序物料号11173101 AML-962H机芯升级步骤 本地升级: 1、将2G+xG_update.zip重命名update.zip,拷贝至U盘,插入电视USB,打开电视进入设置 2、选择本地升级,升级完毕后电视会重启,操作过程中切勿断电关机 升级完成后可以在系统设置——本机信息——查询软件版本 强制升级: 1、解压强制升级脚本recovery.img与factory_update_param.aml,加上update.zip三个文件拷贝至U盘根目录,插入电视USB 2、插拔下电源,按遥控器待机键后快速不停点按遥控器右键5-10下触发主板识别U盘软件进行升级 3、升级完毕后电视会重启,操作过程中切勿断电关机 串口升级 1、将三个升级软件拷贝至U盘根目录下,然后插入电视的USB接口 2、电视开启的时候按住电脑键盘Enter回车键出现txl_p392_v1#时,输入run update敲回车,系统识别U盘软件进行升级 如未成功先确认输入指令是否正常,reboot重新启动再试 若还是无法升级可能是硬件存储系统的EMMC模块损坏,请更换主板

    用于Excel下载测试

    用于Excel下载测试

    基于C++实现数字图像处理和深度学习的车牌定位,字符分割和字符识别项目,包含项目收集数据集和cnn模型(含源码+论文)

    【作品名称】:基于C++实现数字图像处理和深度学习的车牌定位,字符分割和字符识别项目,包含项目收集数据集和cnn模型(含源码+论文) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 该项目以数字图像处理和机器学习为基础,以1485张图片组成的原始数据集为出发点,研究了如何从原始图片集中得到用于分类器训练的数据集;针对车牌区域特点和输入图片的全局特点,提出了四种不同的可能的车牌区域提取方法,经过校正后得到车牌区域候选人;参考自然场景下的文本检测方法和车牌中的字符分布特点,对车牌候选区域提取改进的最大稳定极值区域,通过使用非极大值抑制和区域校正得到字符候选人,通过字符判断分类器和字符搜索,实现非车牌区域的滤除和车牌区域7个字符的提取,其中字符判断使用基于20个描述性特征的支持向量机实现;通过使用金字塔梯度方向直方图特征得到了用于 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。

    包括了全部的资源文(图标ico)和源代码

    包括了全部的资源文(图标ico)和源代码

    机器学习20241106-5

    机器学习20241106-5

    【java毕业设计】医患档案管理系统源码(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse

    DIYUSB接口写频线的详细步骤

    有图有真相

    Matlab实现侏儒猫鼬优化算法DMO-Kmean-Transformer-BiLSTM组合状态识别算法研究.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    【java毕业设计】社区维修平台源码(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse

Global site tag (gtag.js) - Google Analytics