my sql相关知识
-
MySQL Memory 存储引擎浅析 后来看到博客园在用NorthScale Memcached Server(官方站点:http://www.couchbase.com/products-and-services/memcached),貌似共享收费,又犹豫了。其实项目里的需求很简单,也想自己用.Net Cache来实现,但稳定性难以评估,开发维护成本又似乎太大,没办法,My SQL Memory Storage成了唯一选择,因为几乎不怎么需要编写代码。 先看官方手册,然后写了个简单的性能测试。因为官方最新的文档都是英文版的,所以译了5.5版本 MySQL Memory Storage章节。 官方文档(译自5.5版本的The Memory Storage Engine) Memory存储引擎将表的数据存放在内存中。Memory替代以前的Heap成为首选项,但同时向下兼容,Heap仍被支持。 Memory存储引擎特性:Storage limitsRAMTransac
-
AutoTiKV:基于机器学习的数据库调优作者:吴毅 王远立 TiKV 底层使用了 RocksDB 作为存储引擎,然而 RocksDB 配置选项很多,很多情况下只能通过反复测试或者依靠经验来调优,甚至连 RocksDB 的开发者都自嘲,他们没办法弄清楚每个参数调整对性能的影响。如果有一个自动 tuning 的方案就可以大大减少调优的人力成本,同时也可能在调优的过程中,发现一些人工想不到的信息。我们从 AutoML 中得到启发,希望能用 Automated Hyper-parameter Tuning 中的一些方法来对数据库参数进行自动调优。 常用的 Automated Hy
-
Spark Streaming + Kakfa 编程指北本文简述如何结合 Spark Streaming 和 Kakfa 来做实时计算。截止目前(2016-03-27)有两种方式:使用 kafka high-level API 和 Receivers,不需要自己管理 offsets不使用 Receivers 而直接拉取 kafka 数据,需要自行管理 offsets两种方式在编程模型、运行特性、语义保障方面均不相同,让我们进一步说明。如果你对 Receivers 没有概念方式一:Receiver-based这种方法使用一个 Receiver 来接收数据。在该 Receiver 的实现中使用了 Kafka high-level consumer API。Receiver 从 kafka 接收的数据将被存储到 Spark executor 中,随后启动的 job 将处理这些数据。在默认配置下,该方法失败后会丢失数据(保存在 executor 内存里的数据在 application 失败后就没了),若要保证数据不丢失,需要启用 WAL(即预写日志�至 HDFS、S3等
-
EditorConfig 介绍当多人共同开发一个项目的时候,往往会出现大家用不同编辑器的情况。就前端开发者来说,有人喜欢 Sublime,有人喜欢 Webstorm , 也有人喜欢 Atom,还有人喜欢 Vim,HBuilder 等等。各种不同编程语言的开发者喜欢各种不同的编辑器。 问题来了,如何让使用不同编辑器的开发者在共同开发一个项目时“无痛”地遵循编码
my sql相关课程
-
SQL Server基础--T-SQL语句 本教程通过对微软SQL Server数据库工具的介绍以及关系型数据库的理解,分析讲解TSQL的基本查询语句和基本用法。其中穿插大量一线实例讲解。
讲师:小雨老师 入门 168113人正在学习
my sql相关教程
- 2. Web SQL Web SQL不是 HTML5 标准中的一部分,它是一个独立的规范,引入了 SQL 的 api,关于 SQL 的语法可以参考第三方的教程,在此不做解释。Web SQL 有 3 个函数
- 3.2 SQL DML SQL DML 负责 数据访问和数据操作。SQL DML 主要由INSERT(增),DELETE(删),SELECT(查),UPDATE(改)四大部分组成。SQL DML 的主要作用有:SELECT FROM - 查询数据;UPDATE SET - 更新数据;DELETE FROM - 删除数据;INSERT INTO - 新增数据;…
- 3.2 SQL 预处理 SQL Prepare 是一种在数据库层面上防止 SQL 注入的方式,它简单且高效,且无需三方支持就能够有效的断绝掉 SQL 注入。3.2.1 Prepare 如何防止 SQL 注入那么 Prepare 是如何防止 SQL 注入的呢?在本小节的开头,我们提到 SQL注入的主要方式是将 SQL 代码注入到参数中,什么是 SQL 代码呢?像0 OR 1=1这样的 SQL 段就是 SQL 代码,SQL 引擎会将它解析后再执行,这样OR 1=1就会生效。想要从根源上解决 SQL 注入的问题,那么必须要让OR 1=1失效,而 Prepare 正是这样的一种处理方式。Prepare 会先将 SQL 模板传递给 SQL 引擎,SQL 引擎拿到 SQL 模板后,会编译模板生成相应的SQL执行计划,此时 SQL 已经被编译了。当EXECUTE再携带0 OR 1=1这样的参数时,OR 1=1不会再被编译,数据库只会单纯的将它视为一个普通的字符串参数,因此OR就会失效,OR 1=1也会失效,这样 SQL 注入的问题就从根本上解决了。3.2.2 Prepare 防止 SQL 注入实例我们还是以 imooc_user 为例来说明 Prepare 的用法。SQL 注入的语句如下:SELECT * FROM imooc_user WHERE id = 0 OR 1=1;不论是参数校验,还是预处理都能够解决掉这次 SQL 注入,预处理的解决方式如下。预处理会先编译 SQL 模板语句:PREPARE finduserbyid FROM 'SELECT * FROM imooc_user WHERE id = ?'; 预编译后,数据库已经生成了该 SQL 语句的执行计划,你可以简单地理解为:数据库: 嘿!老铁,语句我已经收到了,执行计划已经搞好了,你只需要按照?占位符传入相应的参数就行了。应用程序: 我传入的参数如果是0 OR 1=1,你会怎么处理啊?数据库: 老铁放心,执行计划已经生成好了,不会再解析了,参数里面的OR和=也不会再被解析,我们直接把它当成一个参数处理了。SQL 语句如下:SET @id='0 OR 1=1';EXECUTE finduserbyid USING @id;结果如下:+----+----------+-----+| id | username | age |+----+----------+-----+从结果中可以得出,即使注入了OR 1=1,查询结果仍然为空,用户数据没有泄漏。
- 2.3 SQL 注入 Web程序代码中对于用户提交的参数未做过滤就直接放到SQL语句中执行,导致参数中的特殊字符打破了SQL语句原有逻辑,黑客可以利用该漏洞执行任意SQL语句。场景:
- 3.1 SQL DDL SQL DDL 负责数据结构定义和数据库对象定义。SQL DDL 主要由 CREATE,ALTER和DROP三个指令组成。SQL DDL 的主要作用有:CREATE DATABASE - 创建数据库;ALTER DATABASE - 修改数据库;CREATE TABLE - 创建新数据表;ALTER TABLE - 修改数据表;DROP DATABASE - 删除数据库;DROP TABLE - 删除数据表;…
- SQL 语句优化 MySQL 的优化主要指 SQL 语句的优化和 MySQL Server 的优化,相对来说,SQL 优化相对更为重要,也更考验功力。本小节将讲解 SQL 语句优化的一般思路,以及相应方法。
my sql相关搜索
-
mac osx
machine_start
macox
magellan
malloc
manifest
manifest文件
map
map 遍历
mapreduce编程
maps google com
margin
margin bottom
margin left
margin right
margin top
marginbottom
marginheight
marginleft
margintop