草庐IT

relative_order

全部标签

sql - 如何优化 SQLite ORDER BY rowid?

我想在我的sqlite数据库中查询所有大于20的“级别”值,将结果限制为100并按rowid排序。按rowid排序时,查询会慢很多。该数据库包含约300万条记录level的最大值为50,为level创建索引。此语句耗时约20毫秒:SELECT*FROMlogWHERElevel>20LIMIT100此语句耗时约100毫秒:SELECT*FROMlogWHERElevel>20ORDERBYrowidLIMIT100此语句耗时约1000毫秒(不存在级别值大于50的行):SELECT*FROMlogWHERElevel>50ORDERBYrowidLIMIT100有没有办法优化它以获得更快

sql - 如何优化 SQLite ORDER BY rowid?

我想在我的sqlite数据库中查询所有大于20的“级别”值,将结果限制为100并按rowid排序。按rowid排序时,查询会慢很多。该数据库包含约300万条记录level的最大值为50,为level创建索引。此语句耗时约20毫秒:SELECT*FROMlogWHERElevel>20LIMIT100此语句耗时约100毫秒:SELECT*FROMlogWHERElevel>20ORDERBYrowidLIMIT100此语句耗时约1000毫秒(不存在级别值大于50的行):SELECT*FROMlogWHERElevel>50ORDERBYrowidLIMIT100有没有办法优化它以获得更快

sql - 如何在 Rails 中链接原始 SQL 查询或如何从 Rails 中的原始 SQL 查询返回 ActiveRecord_Relation?

如何运行原始sql查询并返回ActiveRecord_Relation实例?在sqlite3db和Rails4.2上,ActiveRecords::Base.exec_query(sql)返回一个ActiveRecord_Result实例。ActiveRecords::Base.execute(sql)返回一个数组。这很麻烦,因为我无法在返回的对象上运行后续的“ActiveRecord查询”或原始sql查询。更一般地说,我想知道如何在Rails中链接“复杂”的sql查询。我所说的复杂是指我无法通过ActiveRecords提供的“ORM方法”找到一种方法。通过链接,我的意思是出于性能原

sql - 如何在 Rails 中链接原始 SQL 查询或如何从 Rails 中的原始 SQL 查询返回 ActiveRecord_Relation?

如何运行原始sql查询并返回ActiveRecord_Relation实例?在sqlite3db和Rails4.2上,ActiveRecords::Base.exec_query(sql)返回一个ActiveRecord_Result实例。ActiveRecords::Base.execute(sql)返回一个数组。这很麻烦,因为我无法在返回的对象上运行后续的“ActiveRecord查询”或原始sql查询。更一般地说,我想知道如何在Rails中链接“复杂”的sql查询。我所说的复杂是指我无法通过ActiveRecords提供的“ORM方法”找到一种方法。通过链接,我的意思是出于性能原

android - Room @Relation 与复合主键

我的问题是这个问题的延伸(也是我的:))->RoomcompositePrimaryKeylinktoForeignKey所以,如果我有这个类:publicclassFoodWithIngredientsextendsFood{@Relation(parentColumn="id",entityColumn="food_id",entity=Ingredient.class)privateListmIngredients;}但是PrimaryKey“食物”表的composite(primaryKeys={"id","language_id"}).如何使@Relation返回"paren

android - Room @Relation 与复合主键

我的问题是这个问题的延伸(也是我的:))->RoomcompositePrimaryKeylinktoForeignKey所以,如果我有这个类:publicclassFoodWithIngredientsextendsFood{@Relation(parentColumn="id",entityColumn="food_id",entity=Ingredient.class)privateListmIngredients;}但是PrimaryKey“食物”表的composite(primaryKeys={"id","language_id"}).如何使@Relation返回"paren

optimization - Sqlite subselect 比 distinct + order by 快得多

我对以下两个产生相同输出的查询的运行时间截然不同感到困惑。这些查询在Sqlite3.7.9上运行,表上有大约450万行,每个查询产生约50行结果。查询如下:%echo"SELECTDISTINCTacolumnFROMatableORDERBYacolumn;"|timesqlite3mydbsqlite3mydb8.87suser15.06ssystem99%cpu23.980total%echo"SELECTacolumnFROM(SELECTDISTINCTacolumnFROMatable)ORDERBYacolumn;"|timesqlite3optionssqlite3my

optimization - Sqlite subselect 比 distinct + order by 快得多

我对以下两个产生相同输出的查询的运行时间截然不同感到困惑。这些查询在Sqlite3.7.9上运行,表上有大约450万行,每个查询产生约50行结果。查询如下:%echo"SELECTDISTINCTacolumnFROMatableORDERBYacolumn;"|timesqlite3mydbsqlite3mydb8.87suser15.06ssystem99%cpu23.980total%echo"SELECTacolumnFROM(SELECTDISTINCTacolumnFROMatable)ORDERBYacolumn;"|timesqlite3optionssqlite3my

SQLite LIKE & ORDER BY 匹配查询

我需要一个仅使用LIKE搜索1个字段的SQLite查询。基本示例:SELECTnameFROMtableWHEREnameLIKE"%John%"ORDERBYnameLIMIT10;问题是我希望结果以这种方式排序:如果字段相等(例如“John”)如果字段以“John”开头(例如“JohnDoe”)如果该字段包含“John”(例如“JaneJohnDoe”)下面的查询达到了预期的结果,但是速度很慢:SELECTnameFROMtableWHEREnameLIKE"%John%"ORDERBYCASEWHENname="John"THEN1ELSE2END,CASEWHENnameLIK

SQLite LIKE & ORDER BY 匹配查询

我需要一个仅使用LIKE搜索1个字段的SQLite查询。基本示例:SELECTnameFROMtableWHEREnameLIKE"%John%"ORDERBYnameLIMIT10;问题是我希望结果以这种方式排序:如果字段相等(例如“John”)如果字段以“John”开头(例如“JohnDoe”)如果该字段包含“John”(例如“JaneJohnDoe”)下面的查询达到了预期的结果,但是速度很慢:SELECTnameFROMtableWHEREnameLIKE"%John%"ORDERBYCASEWHENname="John"THEN1ELSE2END,CASEWHENnameLIK