小编use*_*434的帖子

一个有趣的案例,对于mysql查询"喜欢'xx'"

我在MySQL查询SQL中找到了一个有趣的案例,前缀字符串匹配;

我创建了这样的表格;

CREATE TABLE `EpgInfo` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `title` varchar(100)  NULL NOT NULL DEFAUL '',
   PRIMARY KEY (`id`),
   KEY `title` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)

然后,我为随机列标题插入了1,000,000行数据,其长度小于20.

我使用3个这样的SQL:

  • SQL#1: select * from EpgInfo2 where title like "?" limit 1;
  • SQL#2: select * from EpgInfo2 where title = "?" limit 1;
  • SQL#3: select * from EpgInfo2 where title like "?" limit 1;

我发现:

  • SQL#1的成本为0.2秒.
  • SQL#2和SQL#3的成本为0.0s.我使用show status喜欢%handl%找到查询计划,我发现SQL#1扫描所有索引数据,SQL#2和SQL#3没有.

为什么?

mysql sql

7
推荐指数
1
解决办法
498
查看次数

java中如何使用XPath查找带有CDATA标签的节点值

我用XPath解析了rss xml数据,数据是

<rss version="2.0">
  <channel>
    <title>
      <![CDATA[sports news]]>
    </title>
  </channel>
</rss>  
Run Code Online (Sandbox Code Playgroud)

我想使用 xpath "/rss/channel/title/text()" 获取文本 "sports news" ,但结果不是我想要的,真正的结果是 "\r\n",那么如何找到结果我想要。

代码如下:

    文档文档 = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
    XPathFactory xpathFactory = XPathFactory.newInstance();
    XPath xPath = xpathFactory.newXPath();
    Node node = (Node) xPath.evaluate("/rss/channel/title/text()", doc,XPathConstants.NODE);
    String title = node.getNodeValue();

java xml xpath

5
推荐指数
1
解决办法
5880
查看次数

lucene的复合文件有什么优势

像lucene的复合文件这样的单个文件和依赖索引类型的muti文件有什么不同?

lucene

5
推荐指数
1
解决办法
725
查看次数

我想要限制类型T,它是一个在泛型类中实现Comparable <T>接口的类

A<T>在Java中定义了一个泛型类,但我想限制类型T,使其成为实现Comparable<T>接口的类.我该怎么办?

java

0
推荐指数
1
解决办法
92
查看次数

为什么jvm使用4字节来保存64位环境中的引用?

我发现jvm使用4个字节来保存64位env中对象的引用点.

我不明白当应用程序有超过2 ^ 32个对象时如何处理?

谁可以形容这个案子?

java

0
推荐指数
1
解决办法
322
查看次数

标签 统计

java ×3

lucene ×1

mysql ×1

sql ×1

xml ×1

xpath ×1