深圳幻海软件技术有限公司 欢迎您!

  • 携程机票跨端 Kotlin DSL 数据库框架 SQLlin

    作者简介禹昂,携程机票移动端资深工程师,专注于Kotlin移动端跨平台领域,Kotlin中文社区核心成员,图书《Kotlin编程实践》译者。一、背景2022年9月Kotlin1.7.20发布之后,KotlinMultiplatformMobile(简称KMM)进入Beta阶段,Kotlin/Nati

  • count(*)查询性能很差?用这五招轻松优化

    前言最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。通常情况下,分页接口一般会查询两次数据库,第一次是获取具体数据,第二次是

  • 整整修了六个小时,一次难料的分页慢查询事故……

    一、事故背景这次事故也是我们组里遇到的一次关于分页慢查询的典型例子,通过这篇文章,你可以很清晰地跟随我们还原事故现场,以及每一步遇到问题做出的调整和改动。二、事故问题现场16:00收到同事反馈,融合系统分⻚查询可⽤率降低16:05查询接⼝UMP监控,发现接⼝TP99异常彪⾼打开机器监控,发现⼏乎所有

  • 太全了!用Python操作MySQL的使用教程集锦!

    一.python操作数据库介绍Python标准数据库接口为PythonDB-API,PythonDB-API为开发人员提供了数据库应用编程接口。Python数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL Pos

  • 你离完全理解 SQL 只差这十步

    很多程序员视SQL为洪水猛兽。SQL是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为SQL语言也是一种函数式语言)。我们每天都在写SQL并且应用在开源软件jOOQ中。于是我想把SQL之美介绍给那些仍然对它头疼不已的朋友,所以

  • 为什么 insert 配置 "SELECT LAST_INSERT_ID()" 返回个0呢?

    一、前言:一个Bug没想到一个Bug,竟然搞我两次!我大抵是卷上瘾了,横竖都睡不着,坐起来身来打开Mac和外接显示器,这Bug没有由来,默然看着打印异常的屏幕,一个是我的,另外一个也是我的。今天这个问题主要体现在大家平常用的Mybatis,在插入数据的时候,我们可以把库表索引的返回值通过入参对象返回

  • 数据权限,一个注解搞定!

    ​​上篇文章​​松哥和大家介绍了SpringSecurity中常见的八个权限注解,每一个权限注解都有它自己的使用场景,在这些权限注解中,有两个是后置的权限注解:@PostAuthorize和@PostFilter,这两个都是在目标方法执行完毕之后进行权限处理,具体的用法小伙伴们可以参考上篇文章,这里

  • Mapper XML的解析和注册使用

    一、前言你是怎么面对功能迭代的?其实很多程序员在刚开始做编程或者新加入一家公司时,都没有多少机会可以做一个新项目,大部分时候都是在老项目上不断的迭代更新。在这个过程你可能要学习N个前人留下的各式各样的风格迥异的代码片段,在这些纵横交错的流程中,找到一席之地,把自己的ifelse加进去。虽然这样胡乱的

  • 慢SQL治理的经典案例分享

    菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。一、全表扫描1.案例复制SELECTcount(*)AStmp_countFROM(SELECT*FROM`XXX_rules`WH

  • 深入详解Mybatis的架构原理与六大核心流程

    MyBatis是Java生态中非常著名的一款ORM框架,目前在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。如果你想要进入一线大厂,能够熟练使用MyBatis开发已经是一项非常基本的技能,同时大厂也更希望自己的开发人员深入了解MyBatis框架的原理和核心实现。从这个角度看,理解M

  • 前端程序员必须知道的 Web 漏洞,快来看看

    前端程序员必须知道的Web漏洞,快来看看原创2022-01-0207:48·前端人随着互联网的发展,早已经不是仅限于简单的网页或是社交,电商购物、银行转账、企业管理等等。上次看到一个新闻,后台程序员离职后,利用职位之便,每天还不断的给自己转账,转了好多次才被发现,想想这多可怕。或者会窃取重要的商业信

  • C#表达式中的动态查询

    当您使用LINQ来处理数据库时,这种体验是一种神奇的体验,对吗?你把数据库实体像一个普通的收集,使用Linq中像Where,Select或者Take,这些简单的使用就能让代码可用了。但是,让我们考虑一下这里是如何通过动态查询和表达式树实现此功能的:幕后发生的事情。您编写的LINQ查询将转换为SQL(

  • 记一次神奇的SQL查询经历,group by慢查询优化

     一、问题背景现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下:我在测试环境构造了500万条数据,模拟了这个慢查询。 简单来说,就是查询一定条件下,都有哪些用户的。很简单的sql,可以看到,查询耗时为37秒。说一下app_acco

  • 基于Flink构建的实时数据仓库,这才是OPPO数据中台的基础

    一.OPPO实时数仓的演进思路1.1.OPPO业务与数据规模大家都知道OPPO是做智能手机的,但并不知道OPPO与互联网以及大数据有什么关系,下图概要介绍了OPPO的业务与数据情况: OPPO作为手机厂商,基于Android定制了自己的ColorOS系统,当前日活跃用户超过2亿。围绕Col

  • 为啥国人偏爱 Mybatis,而老外喜欢 Hibernate/JPA 呢?

     关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。一、事件起因关于Mybatis

  • 一文搞懂如何在Spring Boot中正确使用JPA

    JPA这部分内容上手很容易,但是涉及到的东西还是挺多的,网上大部分关于JPA的资料都不是特别齐全,大部分用的版本也是比较落后的。另外,我下面讲到了的内容也不可能涵盖所有JPA相关内容,我只是把自己觉得比较重要的知识点总结在了下面。很多地方我自己也是参考着官方文档写的,官方文档非常详细了,非常推荐阅读

  • 如何用Excel快速生成SQL语句,用起来真的很爽

    Excel的公式自动生成想必大家都知道了,就是写好一个公式后直接往下拖,就可以将后面数据的公式自动生成。今天我们就用这个功能来快速生成SQL语句。导入Excel数据Excel的数据有多种方式,这里我们演示用SQL代码导入Excel中的数据。例如我们想把左边Excel中的数据插入到数据库中,如下图:写

  • 用Go构建一个SQL解析器

    摘要本文旨在简单介绍如何在Go中构造LL(1)解析器,在本例中用于解析SQL查询。为了简单起见,我们将处理子选择、函数、复杂嵌套表达式和所有SQL风格都支持的其他特性。这些特性与我们将要使用的策略紧密相关。1分钟理论一个解析器包含两个部分:词法分析:也就是“Tokeniser”语法分析:AST的创建

  • Python 连接数据库的多种方法

     Python是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在Windows,Mac和Linux/Unix系统上。 在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有SQLServer,MySQL,Oracl

  • 我用Python自动生成报表以邮件发送,减轻了我的工作压力

     数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。首先来介绍下实现自动报表要使用到的Python库:pymys

推荐阅读