假设我必须运行 SQL 查询:
SELECT data FROM table WHERE condition1 AND condition2 AND condition3 AND condition4
Run Code Online (Sandbox Code Playgroud)
这有什么不同吗
SELECT data FROM table WHERE condition3 AND condition1 AND condition4 AND condition2
Run Code Online (Sandbox Code Playgroud)
?
如果没有不同:
根据我自己的经验,我知道condition1比condition2便宜 比condition3便宜 比 便宜condition4。
如果不满足任何先决条件,则不应检查其余条件。由于涉及存储函数,因此优化器不会立即明显。我应该如何编写执行此操作的查询?
我正在尝试为 SMART Health Card QR 码创建 Apple Wallet pass。
二维码的内容类似于以下虚拟数据,并且它似乎是使用中等纠错级别生成的:
shc:/567629095243206034602924374044603122295953265460346029254077280433602870286471674522280928613331456437653141590640220306450459085643550341424541364037063665417137241236380304375622046737407532323925433443326057360106452931531270742428395038692212766728666731266342087422573776302062041022437658685343255820002167287607585708105505622752282407670809680507692361773323356634342439664440596761410443377667202663224433674530596175400038397052612140292974753658337372662132066669047253044469405210524536242721550377673434280323045475690310233670562227414567090555653507636250537239522776211205312561442568282012726838630039087127042463716936535535602928393065580072763158437500341209546904210458383257586630101033123422114008776058732325243477645920113037325929083272452732223707055550412927584543582550667760036577724025621136525340592771740903663844771261692077697211447057562509437029626707254539002011763240720310114260256672645965627243654061066553770056003044082967606162724306592273682223412466107335331229606157521057357572327529693965670332063208596309543400076452696835713027450728663529345234666377297208583525543653527774072234735706452828641140633528387577054371703966706421520708254156041170353656054471407636552612616834377244090406554327122559623453686207006139712936404138601156656945315611255669116044703333731263580306106975715411702932060511012768634011703371553353213365032550756476005853005224547339310064671161682376335069647622323339523133724171327531702738363650063527592633763908656123314363227707566731311074
Run Code Online (Sandbox Code Playgroud)
使用大多数标准 QR 代码生成器,这会给出以下(正确的、预期的)QR 代码。
在我的 pass.json 文件中,我有以下 QR 码部分:
*snip* "barcode":{"message":"shc:\/567629095243206034602924374044603122295953265460346029254077280433602870286471674522280928613331456437653141590640220306450459085643550341424541364037063665417137241236380304375622046737407532323925433443326057360106452931531270742428395038692212766728666731266342087422573776302062041022437658685343255820002167287607585708105505622752282407670809680507692361773323356634342439664440596761410443377667202663224433674530596175400038397052612140292974753658337372662132066669047253044469405210524536242721550377673434280323045475690310233670562227414567090555653507636250537239522776211205312561442568282012726838630039087127042463716936535535602928393065580072763158437500341209546904210458383257586630101033123422114008776058732325243477645920113037325929083272452732223707055550412927584543582550667760036577724025621136525340592771740903663844771261692077697211447057562509437029626707254539002011763240720310114260256672645965627243654061066553770056003044082967606162724306592273682223412466107335331229606157521057357572327529693965670332063208596309543400076452696835713027450728663529345234666377297208583525543653527774072234735706452828641140633528387577054371703966706421520708254156041170353656054471407636552612616834377244090406554327122559623453686207006139712936404138601156656945315611255669116044703333731263580306106975715411702932060511012768634011703371553353213365032550756476005853005224547339310064671161682376335069647622323339523133724171327531702738363650063527592633763908656123314363227707566731311074","format":"PKBarcodeFormatQR","messageEncoding":"iso-8859-1"} *snip*
Run Code Online (Sandbox Code Playgroud)
当将此通行证添加到 Apple Wallet 时,我在 Wallet 应用程序中收到以下二维码:
从技术上讲,这似乎确实对相同的数据进行了编码。然而,由于 Apple Wallet pass 中的 QR 码非常小,而且代码又非常密集,充满了不必要的垃圾,因此我没有太多运气让任何 QR 码阅读器从我的设备屏幕上实际读取它,就像 Passbook pass 一样通常会被使用。
我没有找到任何方法在 Passbook 中设置纠错级别,但是当我尝试使用不同的纠错级别生成 QR 码进行检查时,即使是最高的纠错级别也不会生成像我的 Apple 那样的 QR 码钱包制作完成。考虑到第二个代码的右侧 2/3 看起来多么重复,我的猜测是它是空填充,但我不确定。
这里发生了什么,我该如何修复它,以便我的通行证包含第一个示例中的 QR 代码,而不包含所有其他垃圾?如果无法修复,有没有办法让我在通行证上嵌入正确的二维码图像,但将其显示得足够大以便扫描?
========
更新:仅删除shc:/标题似乎可以产生看起来更接近预期的二维码;尽管这个标头是必要的,所以这不是一个解决方案,但我猜测这意味着钱包很难对其进行有效编码。
我遇到了这个Javascript代码段:
var sum = +((!+[] + !![] + !![] + []) + (!+[] + !![] + !![] + !![] + !![] + !![]));
Run Code Online (Sandbox Code Playgroud)
此示例的计算结果为36.
这里发生了什么,了解/阅读它的最佳方式是什么?