我的数据库:
ID place
-----------------------------------------------
1 Bhowali
2 Bangalore
3 Tumkur
My查询:
SELECT *
FROM table
WHERE place LIKE '%bhovali'
问题是:当时许多用户搜索错误的关键字时,查询结果应该匹配并输出正确的关键字.在我上面的查询中,bhovali是一个错误的单词,正确的单词是bhowali。有什么方法可以从查询中得到正确的结果吗?
我在编写单元测试时应用的一种常见模式是创建一个永远不会解决的承诺。
这允许我在加载状态下设置系统,并且我可以在加载时验证正确的行为。
it("Return state 'LOADING'", () => {
sinon.stub(api, 'findMySessions').returns(new Promise(r => {}));
// loadMySessions is an async function, but I don't await it.
loadMySessions();
我正在使用一个带有"state“列的表,该列通常只包含2到3个不同的值。有时,当这个表包含几百万行时,下面的SQL语句会变得很慢(我假设完成了全表扫描):
SELECT state, count(*) FROM mytable GROUP BY state
我希望得到这样的东西:
disabled | 500000
enabled | 2000000
(基本上我想知道有多少项是“启用”的,有多少项是“禁用”的--实际上,在我的实际应用程序中,这是一个数字,而不是一个文本)
我猜为我的state列添加一个索引是非常无用的,因为在那里只能找到很少的不同值。我还有其他选择吗?
还有一个“
我正在努力寻找最好的方式来创建我的网站的搜索引擎。所有需要搜索的项目都在mysqli数据库中,但我在数据库中也有需要从搜索中排除的表(即,用户信息、导航菜单表等)。到目前为止,我想出的唯一解决方案是分别在每个表中搜索该关键字,然后显示结果。有没有更简单的方法来做这件事?我希望有一个‘表组’或类似的东西,这样我的查询就可以是这样的:
SELECT * FROM table_group WHERE any_column LIKE “%search_string%”
数据库现在大约有30个表,但表可以动态添加,并且随着网站的使用越来越多,这个数量还会增加。做这件事最好的方法是什么?
我正在尝试构建一个内部连接视图的查询(它的存在是为了提高可重用性),但是很明显,这个视图有一个内部左连接的事实以某种方式扰乱了优化器,我真的不能理解为什么(更新了索引统计信息)。 下面是MCVE。这实际上非常简单。您可以将其描述为一个简单的customer (B) - order (C)设计,其中客户的地址(可选)在另一个表(A)中。然后,我们可以将客户加入到它的地址(vw_B)。 元数据和示例数据: create table A (
id int not null,
fieldA char(10) not null,
constraint pk_A primary