`

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...

    Python 查看主机IP及mac地址

    Python 查看主机IP及mac地址

    1-全球各国信息化发展指数IDI指数2007-2017年-社科数据.zip

    全球各国信息化发展指数(IDI指数)是一个衡量国家和地区信息与通信技术发展水平的综合评价指标,由国际电信联盟定期发布。该指数通过三个分指数来评估:ICT接入分指数、ICT使用分指数和ICT技能分指数。ICT接入分指数涵盖了固定电话普及率、移动电话普及率、人均国际出口带宽、电脑家庭普及率和互联网家庭普及率等指标;ICT使用分指数则包括网民普及率、固定宽带人口普及率和移动宽带人口普及率;ICT技能分指数则关注平均受教育年限、中等教育毛入学率和高等教育毛入学率。这些指标共同描绘了一个国家在信息化基础设施、信息化使用、知识水平等方面的发展情况。数据覆盖了2007至2017年的区间,但需要注意的是,2009年的数据在报告中是缺失的。IDI指数为全球、区域、国家或地区信息化发展程度提供了一个综合评价手段,对于研究和比较不同国家和地区的信息化发展水平具有重要意义。

    ASP+ACCESS基于WEB网上留言板(源代码+论文)(源代码+论文+说明文档).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    生产现场工艺文件执行检查管理流程说明.docx

    生产现场工艺文件执行检查管理流程说明.docx

    1-全国各省人口密度数据2000-2021年-社科数据.zip

    全国各省人口密度数据2000-2021年的社科数据内容涵盖了中国31个省、直辖市、自治区的人口分布情况。这些数据通过计算年末常住总人口与地区土地面积的比值来得出人口密度,即单位土地面积上的人口数量,通常以人/平方千米为单位。数据集包含了地区、年份、年末常住总人口(万人)、面积(平方千米)以及计算得出的人口密度(人/平方千米)等关键指标。这些数据不仅反映了人口分布的地理特征,还揭示了人口增长与土地利用之间的关系,对于城市规划、资源管理、环境政策制定等领域具有重要的参考价值。通过分析这些数据,研究者可以深入了解人口变化趋势,评估不同地区的人口承载能力,并为相关政策提供数据支持。

    基于PCIe接口的深度学习项目实例的详细介绍3.docx

    基于PCIe接口的深度学习项目实例的详细介绍3

    1-全国各地级市空气质量指数AQI、AQI排名、PM2.5大气污染日度数据2013-2022年-社科数据.zip

    本数据集提供了2013至2022年间全国328个地级市的空气质量指数(AQI)和PM2.5等大气污染日度数据。数据涵盖了AQI、PM2.5、PM10、CO、SO2、NO2、O3等关键指标,为研究空气质量变化和污染趋势提供了丰富的信息。这些数据不仅包括了空气质量的定量描述,还涉及了空气污染对健康的影响,是评估空气质量的重要工具。数据来源权威,更新至2022年,为科研、政策制定和公众了解提供了宝贵的参考。

    NCRE全国计算机等级考试三级数据库技术(填空题)

    全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部教育考试院(原教育部考试中心)主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。NCRE开考之后,受到社会广泛关注和认可,为我国信息化技术人才的培养做出了重要贡献。 三级:工程师预备级。三级证书考核面向应用、面向职业的岗位专业技能。 报名条件:报名者不受年龄、职业、学历等限制,均可根据自己学习情况和实际能力选考相应的级别和科目。考生可按照省级承办机构公布的流程在网上进行报名。   报名时间:每次考试具体报名时间由各省级承办机构规定,可登录各省级承办机构网站查询。   考试时间:NCRE在全国范围内每年举办两次考试,考试时间一般安排在3月最后一个周六至下周周一、9月倒数第二个周六至下周周一。   考试形式:统一命题,统一考试,考试形式为上机考试。   成绩:NCRE考试实行百分制计分,以等第形式公布成绩。成绩等第分为“优秀”、“良好”、“及格”、“不及格”四等。100-90分为“优秀”,89-80分为

    ASP+ACCESS论坛的设计与实现(论文+源代码+开题报告)(源代码+论文+说明文档).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    C语言小游戏-五子棋-详细代码可运行

    使用VS-studio打开,需要安装Esayx库

    CSDNApp_238.apk

    CSDNApp_238.apk

    Apifox-在线API调试工具,全新API开发功能

    免费软件, Postman + Swagger + Mock + JMeter API 文档 API 调试

    【Unity3D插件】Unity3D HDRP Outline高亮发光轮廓描边插件教程

    【Unity3D插件】Unity3D HDRP Outline高亮发光轮廓描边插件教程

    sqlserver内存释放中文最新版本

    本文档主要讲述的是sqlserver内存释放;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

    全球干旱数据集【标准化降水蒸发指数SPEI-03】-190101-202312-0.5x0.5

    全球干旱数据集【标准化降水蒸发指数SPEI-03】(1901年1月-2023年12月,0.5°×0.5°分辨率)是基于月度降水和潜在蒸散发(PET)数据计算的全球气候数据集,专门用于中期干旱监测和分析。SPEI-03以3个月为时间尺度,更适合评估农业和生态系统的长期干旱风险。 数据集采用NetCDF格式,包含时间、空间坐标和SPEI值(无量纲)。负值表示干旱,正值表示湿润,数据经过插值和偏差矫正,确保高时空一致性。基于全球气象观测和重分析数据,如ERA5。 应用场景: 干旱监测:识别全球干旱事件的强度和持续时间。 气候变化研究:评估干旱风险和气候变化的长期影响。 农业与生态管理:支持农作物种植和生态系统保护。 水资源与灾害防治:优化水资源分配和干旱灾害应对。 该数据集为干旱风险评估和气候变化研究提供重要支持,广泛应用于环境、农业、生态和气候预测领域。

    基于java的北关村基本办公管理系统设计与实现.docx

    基于java的北关村基本办公管理系统设计与实现

Global site tag (gtag.js) - Google Analytics