为您找到搜索结果:11880个
Failed to complete obtain psql count Master gp_segment_configuration Script Exiti
问题:在初始化过程中,如到以下问题:gpadmin-[FATAL]:-FailedtocompleteobtainpsqlcountMastergp_segment_configuration ScriptExiting!ScripthasleftGreenplumDatabaseinanincompletestate 解决方法:echo"RemoveIPC=no">>/etc/systemd/logind.conf/bin/systemctlrestartsystemd-logind.service 这个解决方案在Ubuntugreenplum-db-oss5.4.1场景下一样可用 参考网址:https://github.com/greenplum-db/gpdb/issues/197 ...
神奇的 SQL 之扑朔迷离 → ON 和 WHERE,好多细节!
楼主:心都让你吓出来了! 狮王:淡定,打个小喷嚏而已 神奇的SQL之联表细节→MySQLJOIN的执行过程(一)中,我们讲到了3种联表算法:SNL、BNL和INL,了解了数据的查询方式是onebyone,联表方式也是onebyone;并谈到了ON和WHERE,对下图中所说的提出了质疑 认为ON和WHERE的生效时机有待商榷;此时楼主开始了欠大家的账 神奇的SQL之联表细节→MySQLJOIN的执行过程(二)中对联表算法进行了补充,详细介绍了MRR和BKA,但还是未介绍ON和WHERE,楼主依旧欠着大家的账,内心涌满了愧疚 终于在今天,楼主痛定思痛,决定将这笔账还上;此刻楼主的内心独白是这样的 此时各位看官的内心肯定嘀咕着:你特么欠账欠的这么义愤填膺?不过我好喜欢 咳咳,闲话不多说,进入我们今天的正题 SQL的执行顺序相信大家多少有所了解,上网一搜也很快就能找到答案 除了 WITH 用的比较少之外,其他都比较常用,相信大家对上面的执行顺序也没有什么疑问;我们重点关注下JOIN、ON和WHERE 那么WHERE是不是一...
神奇的 SQL 之 ICP → 索引条件下推
楼主:来,我们先排练一遍 小伙伴们:好 嘿、哈、嚯 楼主:非常好,就是这个节奏,我们开始吧 楼主:啊、啊、啊,疼!你们是不是故意的? 正式讲ICP之前了,我们先将相关的概念捋一捋,知道的就当回顾,不知道的就当了解了,这有助于对ICP的理解 建个示例表 tbl_index CREATETABLEtbl_index( c1INT, c2INT, c3CHAR(1), PRIMARYKEY(c1), KEYidx_c2(c2)); 覆盖索引 如果where条件的列和select的列都在一个索引中,通过这个索引就可以完成查询,这就叫就叫覆盖索引;当然,覆盖索引基本针对的是组合索引(InnoDB的聚簇索引有点特殊,具体可以看下面的图) 针对上面的tbl_index, selectc2fromtbl_indexwherec2=4; 是覆盖索引查询,但是这条SQL没有意义,如果我们在tbl_index表上增加索引 ...
神奇的 SQL 之 WHERE 条件的提取与应用
小明:为什么中国人结婚非要选一个好日子呢? 楼主:嗯?那肯定啊,结完婚之后你还能有好日子吗? 小明:那结婚时所说的白头到老是真的吗? 楼主:这哪能是真的,你看现在,头发还没白就秃了 小明:那女生的公主病是怎么回事? 楼主:原因很简单,不是长得丑就是穷 小明:那又漂亮又有钱的呢? 楼主:别逗了,那不是公主病,那是真公主! 小明:那你的是有公主病,还是真公主? 楼主:别闹了,我的在硬盘里 一条SQL在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。但是,感兴趣归感兴趣,你得去追呀,还臆想着她主动到你怀里来? 一条SQL在数据库中的生命周期涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,是一个相当复杂的过程,不亚于你追她的艰苦历程,不是只言片语就说的完的。但是,大家先别紧张,上面说的那些了,今天一个也不讲,气不气? 今天和大家一起来看一下SQL生命周期中比较有意思的一个环节给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用? 正式开讲之前了,我们先来回...
神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)
一头母牛在吃草,突然一头公牛从远处狂奔而来说:“快跑啊!!楼主来了!” 母牛说:“楼主来了关我屁事啊?” 公牛急忙说:“楼主吹牛逼呀!” 母牛大惊,拔腿就跑,边跑边问:“你是公牛你怕什么啊?” 公牛无奈道:“现在的楼主不仅吹牛逼,还扯蛋!” 然后小牛也在跟着跑,公牛和母牛问:“儿子你跑什么呢?” 小牛说:“楼主还扯犊子啊” 神奇的SQL之联表细节→MySQLJOIN的执行过程(一)中,我们讲到了JOIN的部分内容,像:驱动表、JOIN大致流程等。什么,还没看?赶紧去看呀,啊?你都知道呀,那你走吧 走就走,你把欠的内容还上我就走;我欠什么了?我欠,我欠... 我好像是欠点东西 1、BKA(BatchedKeyAccess) 2、ON和WHERE 请各位坐好,我要开始表演了 数据库: MySQL5.7.1 存储引擎: InnoDB&nb...
神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)
我:嗨,老板娘,有冰红茶没 老板娘:有 我:多少钱一瓶 老板娘:3块 我:给我来一瓶,给,3块 老板娘:来,你的冰红茶 我:玩呐,我要冰红茶,你给我个瓶盖干哈? 老板娘:这是再来一瓶,我家卖完了,你去隔壁家换一下 对于MySQL的JOIN,不知道大家有没有去想过他的执行流程,亦或有没有怀疑过自己的理解(自信满满的自我认为!);如果大家不知道怎么检验,可以试着回答如下的问题 驱动表的选择 MySQL会如何选择驱动表,按从左至右的顺序选择第一个? 多表连接的顺序 假设我们有3张表:A、B、C,和如下SQL--伪SQL,不能直接执行ALEFTJOINBONB.aId=A.idLEFTJOINCONC.aId=A.idWHEREA.name='666'ANDB.state=1ANDC.create_time>'2019-11-2212:12:30' 是A和B联表处理完之后的结果再和C进行联表处理,还是A、B、C一起联表之后再进行过滤处理,还是说这两种都不对,有其他的处理方式? ON、WHERE的生效时机 楼主无意之间逛到了一篇博文,它里面...
神奇的 SQL 之 MySQL 执行计划 → EXPLAIN,让我们了解 SQL 的执行过程!
开心一刻 某人养了一头猪,烦了想放生,可是猪认识回家的路,放生几次它都自己回来了。一日,这个人想了个狠办法,开车带着猪转了好多路进山区放生,放生后又各种打转,然后掏出电话给家里人打了个电话,问道:“猪回去了吗?”,家里人:“早回来了,你在哪了,怎么还没回来?”,他大怒道:“让它来接我,我特么迷路了!!!”还不如我了 某一天,楼主打完上班卡,坐在工位逛园子的时候,右下角的QQ闪了起来,而且还是个美女头像!我又惊又喜,脑中闪过我所认识的可能联系我的女性,得出个结论:她们这会不可能联系我呀,图像也没映象,到底是谁了?打开聊天窗口聊了起来 她:您好,我是公司客服某某某,请问xxx后台是您负责的吗? 我:您好,是我负责的,有什么问题吗? 她:我发现xxx页面点查询后,一直是加载中...,数据一直出不来,能帮忙看看吗? 我:是不是您的姿势不对? 她:我就xxx,然后点查询 我:骚等下,我试试,确实有点慢,很长时间才能出来 她:是的,太慢了,出不来,都急死我了,能快点吗? 我:肯定能、必须能!您觉得什...
神奇的 SQL 之团结的力量 → JOIN
开心一刻 闺蜜家暴富,买了一栋大别野,喊我去吃饭,菜挺丰盛的,筷子有些不给力,银筷子,好重,我说换个竹子的,闺蜜说,这种银筷子我家总共才五双,只有贵宾才能用~我咬着牙享受着贵宾待遇,终于,在第三次夹虾排滑落盘子时,我爆发了:去它喵的贵宾,我要虾排……不是……我要竹筷子! 简单来说,就是将其他表中的列添加过来,进行"添加列"的运算,如下图所示。 为什么需要进行"添加列"的操作了?因为我们在设计数据库的时候,往往需要满足范式(具体满足范式几,无法一概而论,这里不做细究),会导致我们某个需求的全部列分散在不同的表中,所以为了满足需求,我们需要将某些表的列进行连接。我们来看个简单例子,假如我们有两张表(t_user,t_login_log):DROPTABLEIFEXISTSt_user;CREATETABLEt_user(idINT(11)UNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'自增主键',user_nameVARCHAR(50)NOTNULLCOMMENT'用户名',sexTI...
神奇的 SQL 之谓词 → 难理解的 EXISTS
开心一刻我要飞的更高,飞的更高,啊! SQL中的谓词指的是:返回值是逻辑值的函数。我们知道函数的返回值有可能是数字、字符串或者日期等等,但谓词的返回值全部是逻辑值(TRUE/FALSE/UNKNOW),谓词是一种特殊的函数。关于逻辑值,可以查看:神奇的SQL之温柔的陷阱→三值逻辑与NULL! SQL中的谓词有很多,如=、>、<、<>等,我们来看看SQL具体有哪些常用的谓词 比较谓词 创建表与初始化数据--1、表创建并初始化数据DROPTABLEIFEXISTStbl_student;CREATETABLEtbl_student(idINT(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'自增主键',snoVARCHAR(12)NOTNULLCOMMENT'学号',nameVARCHAR(5)NOTNULLCOMMENT'姓名',ageTINYINT(3)NOTNULLCOMMENT'年龄',sexTINYINT(1)NOTNULLCOMMENT'性别,1:男,2:女',PRIMARYKEY(id));INS...
神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
开心一刻感觉不妙呀,弟弟舔它!不该舔的,舔到怀疑人生了...... 标准SQL规定,在对表进行聚合查询的时候,只能在SELECT子句中写下面3种内容:通过GROUPBY子句指定的聚合键、聚合函数(SUM、AVG等)、常量。我们来看个例子 我们有学生班级表(tbl_student_class)以及数据如下:DROPTABLEIFEXISTStbl_student_class;CREATETABLEtbl_student_class(idint(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'自增主键',snovarchar(12)NOTNULLCOMMENT'学号',cnovarchar(5)NOTNULLCOMMENT'班级号',cnamevarchar(20)NOTNULLCOMMENT'班级名',PRIMARYKEY(id))COMMENT='学生班级表';--------------------------------Recordsoftbl_student_class------------------------------INSERTI...
神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL !
开心一刻 一个中国小孩参加国外的脱口秀节目,因为语言不通,于是找了一个翻译。 主持人问:“Who is your favorite singer?” 翻译:”你最喜欢哪个歌手啊?” 小孩兴奋地回答:”MichaelJackson” 翻译转身对主持人说:”迈克尔-杰克逊” 主持人看着翻译:"你说什么?" 电视机前的观众:"我怎么有点蒙?" NULL用于表示缺失的值或遗漏的未知数据,不是某种具体类型的值。数据表中的NULL值表示该值所处的字段为空,值为NULL的字段没有值,尤其要明白的是:NULL值与0或者空字符串是不同的。 两种NULL 这种说法大家可能会觉得很奇怪,因为SQL里只存在一种NULL。然而在讨论NULL时,我们一般都会将它分成两种类型来思考:“未知”(unknown)和“不适用”(notapplicable,in...
神奇的 SQL 之子查询,细节满满 !
开心一刻 有一天,麻雀遇见一只乌鸦。 麻雀问:你是啥子鸟哟? 乌鸦说:我是凤凰。 麻雀说:哪有你龟儿子这么黢黑的凤凰? 乌鸦说:你懂个铲铲,老子是烧锅炉的凤凰。 讲子查询之前,我们先来看看视图,何谓视图? 视图是基于SQL语句的结果集的可视化的表,包含行和列,就像一个真实的表,但只是一张虚拟表,我们可以将其视作为一张普通的表;视图只供数据查询,不能进行数据更改,也不能保存数据,查询数据来源于我们的实体表;说的简单点,视图就是复杂SELECT语句的一个代号,为查询提供便利。视图总是显示最近的数据,每当我们查询视图时,数据库引擎通过使用SQL语句来重建数据。 那何谓子查询,它与视图又有何关系?视图是持久化的SELECT语句,而子查询就是将定义视图的SELECT语句直接用于FROM子句当中,它是个一次性的视图,在SELECT语句执行完之后就会消失。光说概念,可能还是不太好理解,我们来看下视图与子查询的具体示例,通过示例我们就能更好的理解了 假设我们有如下表CREATETABLEt_customer_credit(idINT(11)UNSIGN...
神奇的 SQL 之 CASE表达式,妙用多多 !
历史考试选择题:黄花岗起义第一枪谁开的?A宋教仁B孙中山C黄兴D徐锡麟,考生选C。 又看第二题:黄花岗起义第二枪谁开的?考生傻了,就选了个B。 接着看第三题:黄花岗起义中,第三枪谁开的?考生疯了,胡乱选了A。 考试出来就去找出卷老师。老师拿出课本说:黄兴连开三枪,揭开了黄花岗起义的序幕。考生:...... 相信大家都用过CASE表达式,尤其是做一些统计功能的时候,用的特别多,可真要说什么是CASE表达式,我估计还真没几个人能清楚的表述出来。CASE表达式和“2+1”或者“120/3”这样的表达式一样,是一种进行运算的功能,正如CASE(情况)这个词的含义一样,用于区分情况,在有条件分歧的时候使用它。CASE表达式是从SQL-92标准开始被引入的,可能因为它是相对较新的技术,所以尽管使用起来非常便利,但其真正的价值却并不怎么为人所知。很多人不用它,或者用它的简略版函数,例如DECODE(Oracle)、IF(MySQL)等。然而,CASE表达式也许是SQL-92标准里加入的最有用的特性,如果能用好它,那么SQL能解决的问题就会更...
应用集成mycat,实现mycat的高可用与mysql的读写分离
开心一刻 一个女人自朋友圈写道:我家老公昨天和别人家的老婆出去旅游,迄今未归,我则被别人家的老公折腾了一天,好累哦! 圈子下面,评论无数,老公在下面评论到:能不能好好说话,我只不过陪女儿去毕业旅游行,而你负责在家留守,照顾三岁儿子,要不要写的这么刺激、让人浮想联翩的?你是不是有点虎?诺维斯基:你往哪射了?周子瑜:我只是个娱乐明星,射箭我不是专业的... 路漫漫其修远兮,吾将上下而求索! github:https://github.com/youzhibing 码云(gitee):https://gitee.com/youzhibing 通过前面的两篇博文:Mycat-实现数据库的读写分离与高可用和Mycat-高可用与负载均衡实现,满满的干货!,我们完成了如下图所示的组件部署组件结构图一 SQL请求发给VIP,keepalived完成VIP的映射,并通过lvs将请求转发mycat,mycat根据SQL请求类型(DMLSQL还是SELECTSQL,亦或是强制指定db节点)将SQL分发到具体的db,完成由具体的数据库服务完成SQL的执行。 但这还只是停留在数据库层...
spring集成mybatis实现mysql读写分离
在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库的这一功能,实现数据库读写分离,从而改善数据库负载压力。如下图所示: 应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器使用专门的数据库访问模块,使数据库读写分离对应用透明。摘自《大型网站技术架构_核心原理与案例分析》 而本博客就是来实现“专门的数据库访问模块”,使数据库读写分离对应用透明。另外,mysql数据库的主从复制可以参考我的mysql5.7.18的安装与主从复制。注意,数据库实现了主从复制,才能做数据库的读写分离,所以,没有实现数据...