余生长醉 提交于 2021-02-13 11:59:01
<div class="htmledit_views"> <p><span style="font-size:24px;">一、为什么要用小表驱动大表</span></p> <p><span style="font-size:14px;">1、驱动表的定义<br></span></p> <p><span style="font-size:24px;"></span></p> <p style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;border:0px;"> <span style="font-size:14px;">当进行多表连接查询时, [驱动表] 的定义为:</span></p> <p style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;border:0px;"> <span style="font-size:14px;">1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表]</span></p> <p style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;border:0px;


若如初见. 提交于 2021-02-13 11:35:52
驱动表与被驱动表 先了解在join连接时哪个表是驱动表,哪个表是被驱动表: 1.当使用 left join 时,左表是驱动表,右表是被驱动表 2.当使用 right join 时,右表时驱动表,左表是驱动表 3.当使用 join时 ,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表 join查询如何选择驱动表与被驱动表   在sql优化中,永远是以小表驱动大表 。 例如: A是小表,B是大表   使用left join 时,则应该这样写select * from A a left join B b on a.code=b.code   A表时驱动表,B表是被驱动表 测试 :A表140多条数据,B表20万左右的数据量   select * from A a left join B b on a.code=b.code   执行时间:7.5s   select * from B b left join A a on a.code=b.code   执行时间:19s 结论:小表驱动大表优于大表驱动小表 join查询在有索引条件下    驱动表有索引不会使用到索引   被驱动表建立索引会使用到索引 在以小表驱动大表的情况下,再给大表建立索引会大大提高执行速度 测试:给A表,B表建立索引 分析:EXPLAIN select * from A a left join B b on

ES Client

穿精又带淫゛_ 提交于 2021-02-11 10:45:05
关于 ElasticSearch的学习参见: ELK | wjcx_sqh 本文分别学习 .Net | Java 下操作 ES: .Net 目前主流的 .Net 客户端有 2 种: PlainElastic.Net Elasticsearch.Net.dll 和 Nest.dll PlainElastic.Net 简单了解即可,具体参见: ##Elasticsearch.Net + Nest 直接在 Nuget | 官网 下载对应的 .nuget包,在项目中引入即可。 Elasticsearch.Net 6.8.0 NEST 6.8.0 注意不同版本 .dll 对 .Net Framework 框架的依赖。 ###索引 创建连接和索引 var nodes = new Uri[] { new Uri(""), new Uri("") }; var pool = new StaticConnectionPool(nodes); var settings = new ConnectionSettings(pool); var ESClient = new ElasticClient(settings); if (!client.TypeExists(_indexName, _typeName)

Multimatch query with Fuzzy NEST - ElasticSearch

爱⌒轻易说出口 提交于 2021-02-05 10:47:51
问题 I wrote the following query to check multiple fields from a value and it's work: var searchResponse = client.Search<Document>(s => s .Query(q => q .MultiMatch(a => a .Fields(f => f .Field(p => p.Attachment.Content) .Field(p => p.FileName)) .Query(queryValue)))); I would achieve the same result (search the queryValue in fields Attachment.Content and FileName) but with the Fuzzy mechanism (for example, if queryValue is "esting" I would get back also a result with filename "testing"). Thanks a

Token Chars Mapping to Ngram Filter ElasticSearch NEST

守給你的承諾、 提交于 2021-02-04 19:17:05
问题 I'm trying to replicate the below mappings using NEST and facing an issue while mapping the token chars to the tokenizer. { "settings": { "analysis": { "filter": { "nGram_filter": { "type": "nGram", "min_gram": 2, "max_gram": 20, "token_chars": [ "letter", "digit", "punctuation", "symbol" ] } }, "analyzer": { "nGram_analyzer": { "type": "custom", "tokenizer": "whitespace", "filter": [ "lowercase", "asciifolding", "nGram_filter" ] } } } } I was able to replicate everything except the token

Complex nested Elastic NEST Query

女生的网名这么多〃 提交于 2021-01-29 15:45:05
问题 How would I convert this to the equivalent Nest query? { "query": { "nested": { "path": "boundedContexts", "query": { "nested": { "path": "boundedContexts.aggregateRoots", "query": { "nested": { "path": "boundedContexts.aggregateRoots.modelMetaData", "query": { "bool": { "must": [ { "match": { "boundedContexts.aggregateRoots.modelMetaData.modelReferenceId": "4e7c5c0e-93a7-4bf6-9705-cf1327760e21" } }, { "match": { "": "AggregateRoot" }

How to index (ingest) geo data (Geometry, GeometryCollection) as GeoShape in ElasticSearch with C#, Nest, NetTopologySuite from GeoJson file / string?

久未见 提交于 2021-01-29 15:41:36
问题 Summary I want to to properly index (ingest) geo data (Geometry, GeometryCollection) as GeoShape in ElasticSearch using C#, Nest and NetTopologySuite (NTS) from GeoJson files or string representations. I'm using the following stack: ElasticSearch 7.10.1 NEST 7.10.1 NetTopologySuite 2.1.0 NetTopologySuite.IO.GeoJSON 2.0.4 In my GitHub GIST you can find the two sample files (postal-area.geojson and the geojson file as a sample for Scenario #7) along with the code presented bellow with what i've

Complex Nested Query Where to Place Bool Match

独自空忆成欢 提交于 2021-01-29 09:22:26
问题 I have a complex index within Elastic that I need to query by 3 parameters. Thanks to this answered question I am able to query by 2 of the 3 parameters, however the 3rd parameter is not at the same nested level as the other two. The schema looks this.. The following query works for the 2 of the 3 parameters... But the 3rd parameter is at a different level the the other two so this query does not return the expected document. Given that the bool match query for "boundedContexts.aggregateRoot

Search by multiple values using NEST(ElasticSearch)

故事扮演 提交于 2021-01-29 07:07:52
问题 I have an index called " campaigns " with these records: "hits" : [ { "_index" : "campaigns", "_id" : "cf08b05c-c8b5-45cb-bca8-17267c3613fb", "_source" : { "PublisherId" : 1, "CurrentStatus" : "Pending" } }, { "_index" : "campaigns", "_id" : "39436cb3-483e-4fb4-92e4-4e06ecad27a1", "_source" : { "PublisherId" : 1, "CurrentStatus" : "Approved" } }, { "_index" : "campaigns", "_id" : "21436cb1-583e-4fb4-92e4-4e06ecad23a2", "_source" : { "PublisherId" : 1, "CurrentStatus" : "Rejected" } } ] I want

NEST (ElasticSearch) matching Highlights to documents

大憨熊 提交于 2021-01-28 11:30:27
问题 I'm using C# NEST with ElasticSearch. I'm able to query an index of Products and look in their Name and CategoryName fields for matches. I can also extend the query using Highlights . Now in my IQueryResponse response I have two collections: (1) .Documents and (2) .Highlights . e.g.: Consider the search for: "cat" which has 3 document results: { { Name: "Cat product", CategoryName: "Category1" }, { Name: "Some product", CategoryName: "Category2" }, { Name: "Some product2", CategoryName: