首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    .NET面试题解析(11)-SQL语言基础及数据库基本原理

    [Name] having count(t.Name)>1 删除多余的记录,写这种稍微复杂一点的sql的时候,要学会拆解,此题可以拆解为三个部分(删除+重复数据+重复数据中ID最小的数据),先分别把3个部分的...或是一页中包含了索引B的条目,那这页也仅仅只能存储索引B的条目了。每页中除去存储数据之外,还存储一些页头信息以及行偏移以便SQL Server知道具体每一行在页中的存储位置。 ?...=或操作符,否则将导致引擎放弃使用索引而进行全表扫描; 4. 索引碎片是如何产生的?有什么危害?又该如何处理?...维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 尽可能使用约束,如check、主键、外键、非空字段等来约束。这样做效率最高,也最方便。...SQL Server索引的维护 - 索引碎片、填充因子 SQL Server 锁 SQL Server 事务语法 SQL Server中的事务与锁

    54710

    MySQL-存储引擎-创建表-字段数据类型-严格模式-字段约束-键-02

    ,会自上往下寻找非空且唯一的约束字段自动将其升级为主键字段 当你的表中没有任何约束(主键也是约束)字段的时候,InnoDB会使用内部的一个隐藏字段作为主键,我们无法利用该主键 MyISAM 老版本用的存储引擎...建表只会建一个文件: frm表结构,数据不存储 感兴趣的小伙伴可以点这个链接了解一下:MySQL的BlackHole引擎在主从架构中的作用 引擎对应的本地化文件 ?...在同一张表中,字段名不能相同 # 2. 宽度和约束条件可选,字段名和类型是必须的 # 3. 最后一个字段后不能加逗号!...必须要有一个主键 当你没有指定主键的时候 1.会将非空切唯一的字段自动升级成主键 2.当你的表中没有任何的约束条件 innodb会采用自己的内部默认的一个主键字段 该主键字段你在查询时候是无法使用的...,且范围变大 zerofill 给指定了宽度的数据类型的不足长度的字段不足部分用0填充 修改约束条件,不够8位用0填充(zerofill),会自动加上 unsigned alter table tb1

    2.4K30

    超融合时序数据库YMatrixDB与PostGIS案例

    YMatrix适用于各种规模设备的数据融合与物联网时序应用场景,本案例以具体的案例来说明YMatrix在PostGIS中的数据加载、处理和分析的能力以及时空数据的具体使用方法,首先我们先了解下PostGIS...geometry_columns表1、geometry_columns表存放了当前数据库中所有几何字段的信息,比如我当前的库里面有两个空间表,在geometry_columns表中就可以找到这两个空间表中几何字段的定义...2、其中f_table_schema字段表示的是空间表所在的模式,f_table_name字段表示的是空间表的表名,f_geometry_column字段表示的是该空间表中几何字段的名称,srid字段表示的是该空间表的空间参考...postgis扩展,postgis适用于当前session数据库,如果其他的数据库使用,请切换到其他数据库中再次创建即可。...(单位为分钟)pickup_geom/dropoff_geom : 位置区域信息数据加载-- 使用以下命令把数据加载到表中tail -n +2 yellow_tripdata_2016-01.csv |

    1.8K30

    .NET面试题解析(11)-SQL语言基础及数据库基本原理

    [Name] having count(t.Name)>1 删除多余的记录,写这种稍微复杂一点的sql的时候,要学会拆解,此题可以拆解为三个部分(删除+重复数据+重复数据中ID最小的数据),先分别把3个部分的...或是一页中包含了索引B的条目,那这页也仅仅只能存储索引B的条目了。每页中除去存储数据之外,还存储一些页头信息以及行偏移以便SQL Server知道具体每一行在页中的存储位置。 ?...根据这两点,有两种主要的索引形式:复合索引和覆盖索引,在实际使用中,根据具体情况可能都会用到,只要能提高查询效率就是好索引。...=或操作符,否则将导致引擎放弃使用索引而进行全表扫描; 4. 索引碎片是如何产生的?有什么危害?又该如何处理?...维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么? 尽可能使用约束,如check、主键、外键、非空字段等来约束。这样做效率最高,也最方便。

    64910

    SQL Server优化

    16、用Profiler来跟踪查询,得到查询所需的时间,找出SQL的问题所在;用索引优化器优化索引   17、注意UNion和UNion all 的区别,UNION all好   18、注意使用DISTINCT...存储过程是编译好、优化过、并且被组织到一个执行规划里、且存储在数据库中的SQL语句,是控制流语言的集合,速度当然快。反复执行的动态SQL,可以使用临时存储过程,该过程(临时表)被放在Tempdb中。...另外,我们可以用SQL SERVER的一些特性来代替游标,达到提高速度的目的。   A、字符串连接的例子   这是论坛经常有的例子,就是把一个表符合条件的记录的某个字符串字段连接成一个变量。...为了更新数据页中的填充因子,我们可以停止旧有索引并重建索引,并重新设置填充因子(注意:这将影响到当前数据库的运行,在重要场合请谨慎使用)。...关于填充因子(fillfactor)话题已经超出了本文的范畴,不过我还是提醒你需要注意那些打算使用填充因子建立索引的表格。   在执行查询时,SQL Server动态选择使用哪个索引。

    1.8K20

    超融合时序数据库YMatrixDB与PostGIS案例

    YMatrix适用于各种规模设备的数据融合与物联网时序应用场景,本案例以具体的案例来说明YMatrix在PostGIS中的数据加载、处理和分析的能力以及时空数据的具体使用方法,首先我们先了解下PostGIS...geometry_columns表 1、geometry_columns表存放了当前数据库中所有几何字段的信息,比如我当前的库里面有两个空间表,在geometry_columns表中就可以找到这两个空间表中几何字段的定义...2、其中f_table_schema字段表示的是空间表所在的模式,f_table_name字段表示的是空间表的表名,f_geometry_column字段表示的是该空间表中几何字段的名称,srid字段表示的是该空间表的空间参考...(单位为分钟)pickup_geom/dropoff_geom : 位置区域信息 数据加载 -- 使用以下命令把数据加载到表中tail -n +2 yellow_tripdata_2016-01.csv...,分别有多少人乘车,可以用下面的SQL: SELECT time_bucket('1 hour', pickup_datetime) as hour, sum(passenger_count) FROM

    1.5K10

    一篇文章带你玩转PostGIS空间数据库

    使用well-known文本格式进行描述。 Soga!原来就是导文件给你可视化展示啊。这题咱会! 操作数据,用SQL 哦,原来还是熟悉的配方,还是原来的味道。...VACUUM命令要求PostgreSQL回收表页面中因记录的更新或删除而留下的任何未使用的空间。...注意上面有一个dim参数,规则是:对于上例中的多边形,内部的交集是二维区域,因此矩阵的对应部分用"2"填充。边界仅在零维点处相交,因此对应矩阵部分用"0"填充。 再举一个栗子。...关于它们的交集的DE9IM矩阵如下: 请注意,以上两个要素的边界实际上根本不相交(线的端点与多边形的内部相交,而不是与多边形的边界相交,反之亦然),因此B/B单元用"F"填充。...用下面sql就可以做到,推导过程就不展开了。

    7.6K50

    MySQL空间函数实现位置打卡

    总之,MySQL可以满足我们的需求。 MySQL提供单个的存储类型 POINT、LINESTRING、POLYGON 对应几何图形点、线、多边形,GEOMETRY 可以存储三种中的任何一种。...,而polygon函数需要为了确定多边形是否闭合要求第一个点和最后一个点是一样的。...如果几何满足诸如此(非穷举)列表中的条件,则它在语法上是 well-formed: 线串至少有两个点 多边形至少有一个环 多边形环关闭(第一个和最后一个点相同) 多边形环至少有 4 个点(最小多边形是一个三角形...,在以往的SQL里如果存在查询字段上使用函数必然导致索引失效、全表扫描,但是在空间数据上不会,先看 EXPLAIN 语句和结果: ?...其中还涉及到了 MySQL 在使用函数作为查询字段的情况下依然可以使用索引,最后延伸了一些其他的空间处理函数。

    2.5K20

    MySQL 快速入门(一)

    (文件) 操作表,需要指定该表所在的库(文件夹) # 查看当前所在库的名字 select database(); # 切换库 use 数据库名; # 增加表 create table 表名(字段...在 SQL 中需要使用两个特殊的运算符: expression IS NULL; expression IS NOT NULL; # 注意判断空值不能使用等于或者不等于; SELECT emp_name...约束条件 ··· ) 约束条件: unsigned 让数字没有正负号 zerofill 多余的使用数字0填充 not null 非空 新增表数据的方式 方式1: 按照字段顺序一一传值...,整型是个特例,比如int(8),如果设置该宽度,数字超出了8位,有几位就存几位,没超过8位不足的用空格填充至8位 creat table t7(id int(8)); insert into t7 values...(1234); # 不足8个用空格填充 insert into t7 values(123456789); # 超过8位也ok # 用0填充不够得位数 create table t8(id

    1.5K31

    Mapinfo高阶-判断点是否位于多边形内

    具体做法:将测试点的Y坐标与多边形的每一个点进行比较,会得到一个测试点所在的行与多边形边的交点的列表。在下图的这个例子中有8条边与测试点所在的行相交,而有6条边没有相交。...如果测试点的两边点的个数都是奇数个则该测试点在多边形内,否则在多边形外。在这个例子中测试点的左边有5个交点,右边有三个交点,它们都是奇数,所以点在多边形内。 ?...操作步骤: 1、mapinfo中打开多边形图层; 2、mapinfo中打开点图层; 3、查询->SQL查询,参考下图进行设置 ?...Layer4G 是点图层 Buildings 是面图层 该查询的意思是获取“点位于多边形中的元素”,点击确定,查询完毕后返回一张表格; 4、表->导出,选择刚才的查询结果 query,保存类型选择...至此,便得到了点和多边形汇聚后的表,如果该点位于多边形内,则会出现一条记录,否则,不出现。 其实,我脑海里还有一个算法,只是无法用代码实现,如果你可以用代码实现,欢迎告诉我。

    1.8K20

    一篇小短文助你打开数据可视化的任督二脉!

    本文主要讨论ggplot2是如何通过颜色信号来对多边形进行填充的底层理念,这也是想要进阶R语言数据可视化过程中必须搞明白的关键环节。...那么问题来了,为啥之前所说的order没有在geom_polygon()参数中进行显式声明呢? 边界点不声明顺序,软件如何知道该按照什么样的顺序来进行打印呢?...这个问题是个好问题,一语中的,确实,order变量十分重要,但是通常获取的地理信息文件中,order变量是已经按照group分组变量排序过的,即通常所用到的地理信息数据框中,所有的边界点经纬度信息,是先按...group分组,组内按照order排序,这样保证最后绘制出的地理信息边界点不会出现错乱,不同多边形有连接线等这种我们不想看到的情形。...因为可能存在一个id对应多个多边形(group)的情况,所以这些同属一个id的多边形都会被填充(或者轮廓色)同一个数量级的填充色(或者轮廓色)。

    1.4K40

    百度地图电子围栏功能的实现

    这里的添加鼠标绘制工具监听时间,用于获取绘制结果,实际上就是在这里把多边形的顶点放入overlays这个对象中,那么我们如何获取这些点的坐标呢,还是从官方文档里找答案,看下面: 1>在刚才的JavaScript...2.已知经纬度坐标,绘制多边形 接下来看一下已知一些坐标点如何绘制一个多边形,在代码中增加一个按钮 “绘制多边形” ,然后定义一个有坐标信息的数组: 代码如下: <input type="button...: BMapLib.GeoUtils.isPointInPolygon(point,polygon) 第一个参数是输入的坐标点,第二个参数是判断的多边形,这里我用的多边形是上一步绘制的多边形,所以测试时...4.在数据库中如何存储这些坐标的点 这个问题,我只提供一个思路,因为不同的多边形坐标个数不同,所以我们不能把每一个坐标点的经度和纬度当成一个单独的字段,我给出的做法是,采用字符串拼接的方式去处理,把每个坐标的经度用...一种特殊符号拼接起来当成一个字段,纬度同理,存到数据库中,然后显示的时候,提前对这些坐标进行解析,得出实际坐标点,就可以了。

    3.5K40

    初识SQL Server2017 图数据库(一)

    例如,‘Written By’ 是 ‘Posts’ 和 ‘Members’的关系,可以转化为一个一对多的关系。通过创建一个边的关系表,我们可以用常规的关系表来表现所谓的图模型中的表。...我们可以使用这个字段作为主键,SQL Server 允许计算字段作为主键:如果这个主键是一个JSON字段,就不适合作为主键了。...你会发现$node_id字段,是一个JSON字段包含了实体类型和一个自增整型ID,它就是自增长ID。 ? 创建边表   这个操作很简单,边表有属性,属性就是表中的常规字段。...你可以观察之前定义的边表如何定义的边,这是一种双向的合理选择,使得我们更容易使用和理解。...插入边记录     插入边表的语句需要边的两端ID,$From_id and $To_id。这些字段需要用$node_id的值来填充。

    1.2K80

    SQL Server 使用全文索引进行页面搜索

    全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。...在 SQL Server 2008 中,全文索引大小仅受运行 SQL Server 实例的计算机的可用内存资源限制。...SQL Server 进程组件: 用户表 这些表包含要进行全文索引的数据。 全文收集器 全文收集器使用全文爬网线程。它负责计划和驱动对全文索引的填充,并负责监视全文目录。...创建全文索引 启动服务 在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服务用本地用户启动。 ?...它们支持复杂的 Transact-SQL 语法,这种语法支持各种形式的查询词。若要编写全文查询,必须了解何时以及如何使用这些谓词和函数。 CONTAINS 谓词可以搜索: 词或短语。

    2.9K50

    SQL Server 使用全文索引进行页面搜索

    概述 全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。...在 SQL Server 2008 中,全文索引大小仅受运行 SQL Server 实例的计算机的可用内存资源限制。...SQL Server 进程组件: 用户表 这些表包含要进行全文索引的数据。 全文收集器 全文收集器使用全文爬网线程。它负责计划和驱动对全文索引的填充,并负责监视全文目录。...创建全文索引 启动服务 在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服务用本地用户启动。 ?...它们支持复杂的 Transact-SQL 语法,这种语法支持各种形式的查询词。若要编写全文查询,必须了解何时以及如何使用这些谓词和函数。 CONTAINS 谓词可以搜索: 词或短语。

    3.3K70

    如何实现一个跨库连表SQL生成器?

    保序字段填充:如果上游提供了表示数据创建时间的字段, 则用该字段作为数据保序字段, 没有则填充系统接收到数据的时间作为保序字段。 计算阶段 生成大宽表,填充SQL。...大宽表填充:填充大宽表数据。 连接链对齐:中间表和大宽表连接键对齐。 ETL填充:填充大宽表列的ETL信息。 分区字段填充:填充大宽表分区字段。...这种场景还有一个类似的场景:如果AB连接完成后B发生了更新,如何让B的更新体现在宽表中? 为了解决这种问题,我们增加了一个“反向索引表”。...假如A的主键是id,连接键是ext_id,那么我们可以将ext_id和id的值存储在一张表内,当B的数据更新时,用B的主键连接这种表的ext_id字段,拉取到所有的A表id字段,并将A表id字段重新流入...四 数据结构和算法 问题说明 SQL生成器关键点, 就是把各个表(Meta节点)之间的关系表示出来。

    1.5K30

    高效的多维空间点索引算法 — Geohash 和 Google S2

    Z 阶曲线通过交织点的坐标值的二进制表示来简单地计算多维度中的点的z值。一旦将数据被加到该排序中,任何一维数据结构,例如二叉搜索树,B树,跳跃表或(具有低有效位被截断)哈希表 都可以用来处理数据。...空间填充曲线 在数学分析中,有这样一个难题:能否用一条无限长的线,穿过任意维度空间里面的所有点?...本篇文章讲解以 Go 的这个版本为主。 接下来就看看怎么用 S2 来解决多维空间点索引的问题的。 1. 球面坐标转换 按照之前我们处理多维空间的思路,先考虑如何降维,再考虑如何分形。...坐标轴点与希尔伯特曲线 Cell ID 相互转换 最后一步,如何把 i,j 和希尔伯特曲线上的点关联起来呢?...使用 Loop 一定要切记,顺时针表示的是外圈多边形,逆时针表示的是内圈多边形。

    2.7K50
    领券