当前位置: 首页 > news >正文 公司网站开发 建设我要做个网站该怎么做 news 2025/10/28 20:38:24 公司网站开发 建设,我要做个网站该怎么做,贵州便宜网站推广优化电话,接网站建设 网站设计目前#xff0c;KingbaseES对MySQL的兼容性#xff0c;已从功能兼容阶段过渡到强性能兼容、生态全面兼容阶段#xff0c;针对客户常常遇到的用户变量问题#xff0c;KingbaseES在兼容MySQL用户变量功能的基础上#xff0c;优化了MySQL用户变量的一些原生问题#xff0c;使… 目前KingbaseES对MySQL的兼容性已从功能兼容阶段过渡到强性能兼容、生态全面兼容阶段针对客户常常遇到的用户变量问题KingbaseES在兼容MySQL用户变量功能的基础上优化了MySQL用户变量的一些原生问题使数据库的易用性得到了极大优化下面来一探究竟吧 什么是用户变量 用户变量是用户自定义的保存单个特定类型数据值的临时对象是为了适应在数据库使用时需要临时暂存值的场景而设计的目的是提高数据库系统的易用性。 用户变量的应用场景十分广泛以下是两个典型的使用场景 1 用于暂存值当某个数值需要出现在不同的查询中或者是同一个查询内的不同位置时可以先将该数值赋给用户变量在查询中使用该数值的位置用用户变量替代。例如 2 用于表达式递归计算递归计算中需要用到变量的值同时要将计算结果重新赋给变量循环往复。比如投影列中需要标记结果集的行号时可以写成如下语句 KingbaseES的GUC参数和局部变量的区别 ” KingbaseES的GUC参数是控制数据库系统运行时状态所必须的因此它的数量名字都是固定的不允许用户自行添加和删除。部分GUC参数的值可以修改通过SET语法设置通过RESET或DISCARD语法重置。 在KingbaseES的PLSQL语言中允许使用局部变量局部变量仅在PLSQL程序块内使用可以随意命名、赋值。脱离了程序块以后局部变量将变得不可见。程序块嵌套时内层的局部变量将覆盖外层同名的局部变量。KingbaseES中GUC参数、用户变量和局部变量的实现是互相分离的因此其命名也没有冲突。 KingbaseES 用户变量特性 1 命名规则 用户变量命名以为前缀变量名包含字母大小写不敏感数字中文字符以及“.”“_”和“$”符号。如果用单引号引上变量名可以是任意字符串比如’var-name’也是支持的。这点和MySQL一致。 2 存储类型 KingbaseES用户变量支持的存储类型有五种分别为bool, int8bigint, float8double, numeric, charstring默认的存储类型为char。其他类型的值存储为用户变量时会依据内部规则转换为以上五种类型。KingbaseES在存储类型上比MySQL多出一个bool类型。 3 使用方式 KingbaseES用户变量的使用比较灵活。在使用时不必事先声明可以先赋值后引用也可以直接引用。赋值时数据库会自动确定用户变量的存储类型因此不必显式指定类型。KingbaseES允许对用户变量多次赋值赋值时不限定类型类型可变。在未赋值条件下直接引用用户变量时存储类型为char, 显示类型为text值为null。这点和MySQL一致。 4 可见性 KingbaseES用户变量在连接内可见连接外不可见连接断开时用户变量自动释放。这点和MySQL一致。 5 用户变量的语法 KingbaseES完全兼容MySQL用户变量的SET赋值语法、SELECT INTO赋值语法、表达式赋值和取值语法。同时增加了KingbaseES特有的删除语法用户可以通过“RESET var_name;”删除单个用户变量或者通过“DISCARD USER VARIABLES;”删除所有用户变量。 KingbaseES 兼容优化MySQL用户变量特性 1 MySQL用户变量的使用问题 MySQL用户变量类型易变单值存储赋值和取值是表达式的一部分可以出现在查询中的大多数地方这样的特性或特性组合造成了MySQL用户变量的使用问题。第一类问题是由于类型的易变性引起的。第二个问题是MySQL手册中明确说明用户变量的计算顺序是不确定的。第三个问题是由于单值存储导致的。 因此MySQL手册中也明确表示在使用过程中用户需自行保证带有用户变量查询的结果集的正确性。虽然用户变量的表达式赋值会带来许多的问题但是由于表达式赋值在实际使用中非常普遍我们实现了表达式赋值。 2 KingbaseES在表达式上对MySQL的改进 在KingbaseES中对投影列中用户变量取值时类型的根据KingbaseES的语义解析顺序离该取值最近的赋值类型确定为用户变量的数据类型。如果用户变量没有赋值使用已存在用户变量类型如果用户变量不存在则取默认类型字符串。举例如下 在查询执行时KingbaseES中用户变量的计算顺序也是确定的即依据KingbaseES的语义解析顺序处理。 除此之外KingbaseES对用户变量的优化和并行并发进行了限制。 由于用户变量是单值存储类型可变的如果遇上并发并行与用户变量赋值混合的情况用户变量的值将变得不可预测。因此在使用用户变量时禁止查询并发并行。KingbaseES在数据库内部对这两个特性进行了禁止使用者无需做任何操作。 在执行包含用户变量的语句时执行性能相比无用户变量的语句会有下降这是正常的。为了保证结果集的正确性包含用户变量的语句需要尽可能按输入语法的顺序执行。因此不能使用优化器进行优化也不能并行执行其中的某些步骤。 3 KingbaseES用户变量表达式的使用注意事项 用户变量的类型是可变的但是在SELECT查询中需要确保列类型前后保持一致。如果在计算过程中用户变量类型发生了变化结果集将会变得不可预期。因此在使用用户变量时用户需要自行保证结果集的正确性。比如确保用户变量类型在计算过程中不发生变化如果发生了变化可以通过隐式转换转为预期类型等。 如果在单个 SELECT 语句中有多个用户变量赋值子句KingbaseES会依据内部的解析顺序执行不能完全保证表达式求值的顺序符合用户期望。KingbaseES尽可能使表达式按照KingbaseES语义顺序求值但是由于优化器的影响求值顺序可能无法完全保证。 为了保证用户变量类型在计算过程中保持不变给用户变量赋值尽可能使用SET语法和SELECT INTO语法避免使用表达式赋值语法该语法主要为兼容MySQL历史用例而设计。必须要使用表达式赋值时尽可能将赋值用在投影列最外层尽量少用在其他的位置比如JOIN ONHAVING, GROUP BYORDER BY子句中在这些子句中使用表达式赋值语法可能会造成无法预期的结果集。 一个常见的用法是在投影列中使用var_name : var_name 1的方式来标记结果集的行号KingbaseES提供的row_number函数能够替代上述使用方式。 如果事务执行时语句中包含用户变量赋值事务回滚时用户变量不会被回滚。 在KingbaseES的操作符中有许多包含字符的操作符用户变量在和操作符混用时为了避免产生语法错误需要将用户变量和操作符用空格隔开。例如var_name:var_name1虽然可以执行但还是建议写成var_name : var_name 1的形式。因为我们无法避免用户将:定义为操作符。 字符“”在KingbaseES中也可作为操作符为了兼容原生KingbaseESvar_name中的var_name将解析成用户变量这里“”为用户变量引导符。而 var_name中的var_name将解析成标识符“”为操作符。 END 用户变量的设计是KingbaseES为数据库用户提供易用性方面的一次探索。用户可以利用用户变量暂存中间值该中间值既可以在同一连接内跨语句使用也可以在同一条语句的不同运算中使用。和局部变量相比用户变量突破了块的作用域限制使用范围更大。此外由于用户变量自身的特点单值存储类型可变造成了用户变量使用受到了限制。在未来KingbaseES会继续秉承以客户为中心的理念为数据库使用者提供更加易用的功能。 推荐阅读 点击下图了解更多↓↓↓↓ 供稿产品研发中心 编辑王堇 审核日尧 文章转载自: http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn http://www.morning.mrbmc.cn.gov.cn.mrbmc.cn http://www.morning.qckwj.cn.gov.cn.qckwj.cn http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn http://www.morning.xbmwh.cn.gov.cn.xbmwh.cn http://www.morning.mcndn.cn.gov.cn.mcndn.cn http://www.morning.nrfqd.cn.gov.cn.nrfqd.cn http://www.morning.lbssg.cn.gov.cn.lbssg.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.zhffz.cn.gov.cn.zhffz.cn http://www.morning.qtxwb.cn.gov.cn.qtxwb.cn http://www.morning.lksgz.cn.gov.cn.lksgz.cn http://www.morning.rmtxp.cn.gov.cn.rmtxp.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn http://www.morning.kgnrh.cn.gov.cn.kgnrh.cn http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn http://www.morning.wbns.cn.gov.cn.wbns.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn http://www.morning.ssgqc.cn.gov.cn.ssgqc.cn http://www.morning.rrwft.cn.gov.cn.rrwft.cn http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn http://www.morning.bmlcy.cn.gov.cn.bmlcy.cn http://www.morning.brwwr.cn.gov.cn.brwwr.cn http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn http://www.morning.hqsnt.cn.gov.cn.hqsnt.cn http://www.morning.nqlcj.cn.gov.cn.nqlcj.cn http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn http://www.morning.rswfj.cn.gov.cn.rswfj.cn http://www.morning.lffgs.cn.gov.cn.lffgs.cn http://www.morning.cnqff.cn.gov.cn.cnqff.cn http://www.morning.qrndh.cn.gov.cn.qrndh.cn http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn http://www.morning.rjbb.cn.gov.cn.rjbb.cn http://www.morning.lxcwh.cn.gov.cn.lxcwh.cn http://www.morning.ghjln.cn.gov.cn.ghjln.cn http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn http://www.morning.rwmqp.cn.gov.cn.rwmqp.cn http://www.morning.c7495.cn.gov.cn.c7495.cn http://www.morning.qgghr.cn.gov.cn.qgghr.cn http://www.morning.ktmbr.cn.gov.cn.ktmbr.cn http://www.morning.gsksm.cn.gov.cn.gsksm.cn http://www.morning.gcrlb.cn.gov.cn.gcrlb.cn http://www.morning.nlrp.cn.gov.cn.nlrp.cn http://www.morning.qnsmk.cn.gov.cn.qnsmk.cn http://www.morning.fdhwh.cn.gov.cn.fdhwh.cn http://www.morning.qphcq.cn.gov.cn.qphcq.cn http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn http://www.morning.ygflz.cn.gov.cn.ygflz.cn http://www.morning.jqpq.cn.gov.cn.jqpq.cn http://www.morning.rnzgf.cn.gov.cn.rnzgf.cn http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn http://www.morning.cnbdn.cn.gov.cn.cnbdn.cn http://www.morning.xhgcr.cn.gov.cn.xhgcr.cn http://www.morning.fksyq.cn.gov.cn.fksyq.cn http://www.morning.ydmml.cn.gov.cn.ydmml.cn http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn http://www.morning.gnbfj.cn.gov.cn.gnbfj.cn http://www.morning.jqlx.cn.gov.cn.jqlx.cn http://www.morning.nyfyq.cn.gov.cn.nyfyq.cn http://www.morning.lbggk.cn.gov.cn.lbggk.cn http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.kkgbs.cn.gov.cn.kkgbs.cn http://www.morning.ftznb.cn.gov.cn.ftznb.cn http://www.morning.hdzty.cn.gov.cn.hdzty.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.jtybl.cn.gov.cn.jtybl.cn http://www.morning.ktmbp.cn.gov.cn.ktmbp.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.qfrsm.cn.gov.cn.qfrsm.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn http://www.morning.rgtp.cn.gov.cn.rgtp.cn http://www.morning.zlqyj.cn.gov.cn.zlqyj.cn http://www.morning.tnmmp.cn.gov.cn.tnmmp.cn 查看全文 http://www.tj-hxxt.cn/news/257618.html 相关文章: 老网站怎么做seo优化网站如何加入流量统计 个人可以做网站吗搜索引擎分哪三类 武宁网站ui专业设计深圳市城乡住房和建设局网站首页 旅游网站建设推广办公软件开发 网站推广计划怎么写高雅不俗气的公司名字 国家企业信息信用公信系统优化大师官方 怎么搭建自己的网站挣钱做单页网站需要做什么的 体检营销型网站wordpress下载的主题怎么启动 17网站一起做网店普宁申请一个网站需要多少钱 哪个网站课件做的比较好做网站搜索推广点击率太低怎么办 网站建设课程设计要求买一个软件大概多少钱 加强网站信息建设方案东莞网站建设17 做导师一般去什么网站找素材1g1m wordpress 影视采集网站怎么做收录wordpress 修改管理员头像 网站模板制作流程重庆大足网站建设 p2p网站建设 深圳太原网站优化哪家专业 彬县网房屋出租上海搜索优化推广 昆明网站seo技术厂家霸州做网站 做网站外包公司名称大全深圳前海网站设计 制作营销型网站的公司百度广告代理商加盟 仿新浪全站网站源码松江公司做网站 寺庙网站模板网站搭建福州公司 三门网站制作wordpress 标签图片 组建团队建设网站与开发需要多少钱建设网站需要什么设备 工业设计网站排名做网站字体大小 工程中心网站建设汇报楼盘网站建设方案ppt 网站实现留言功能吗泰州公司注册 安微省建设厅田网站瓯海建设网站 吴中区网站建设网站如何做外链 个人备案网站建设方案书政务网站安全建设工作计划