目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
一 引子
在生产环境中,删除一个大文件,比如一个数十 G 或者上百 G 的文件是很耗时的。
本文介绍一个快速 DROP TABLE 的方法。使用本文提供的方法,不管该表数据量、占用空间有多大,都可以快速的删除。
二 演示
下面做一个演示。
2.1 环境
首先说明环境:
环境
bash
mys
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
0x00 文章目录
Table of Contents
{:toc}
0x01 背景介绍
某项目研发 A 删除压测环境大表,等待时间较长,于是直接将 MySQL 数据目录中对应数据库文件删除。于此同时,误删 ibdata 和 MySQL 配置文件。此时 MySQL 已经崩溃,研发从其他机器拷贝误删的数据文件以及配置文件,重启 MySQL,出现 Unknown/
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
问题描述
生产库中一张表的数据10亿级别,另一张表数据100亿级别,还有其他表的数据也是相当地庞大。入职之前不知道这些表有那么大的数据量,于是习惯了使用count(*)来统计表的记录数。但这一执行就不得了,跑了30多分钟都没出结果,最后只有取消查询。后来采取了另一种办法查询记录数。首先说明下解决的办法,使
继续阅读 »
在开发过程中很容易遇到去多张表查询数组组合成一个对象的场景。
有两种方案:
一条大sql直接搞定
把大sql拆分成多条小sql,在程序代码里面再组装对象
more
下面分别分析下各自的优缺点:
大sql
优点:一目了然,程序代码简洁,只需要建立一个连接,在数据量小的情况下效率会高很多。
缺点:在数据量大的情况下响应慢,可能一条大SQL就把整个数据库堵死。垂直拆分情况下sql改动会很大。
多条小sql
优点:在数据量大的情况下效率高。对垂直拆分友好。
缺点:程序代码会变得异常啰嗦,难以维护。
各有利弊,要权衡使用场景。
如果在表数据量巨大的情况下或者数据字段比较有可能做垂直切分的情况下建议或者在做报表这种耗时操
继续阅读 »
链接:Link 耗时:0.139s
前言
这道题的主要思路就是打表,看看Fibonacci数列模n几个一循环。但由于这题给的数太大了,从而在细节上耗了很久。在此记录一下:
var
x: qword;
y: longint;
begin
x := 1<<64-1;
y := 100;
x := x mod y; //报错201
x := x mod qword(y); //正确
end.
Code
var
a,b: qword;
_, n, i, k, cnt: longint;
f: array [1..1000000] of longint;
fun
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
环境
SQL Server 2012 + CentOS 6.3
问题描述
只具有生产库的登录、查询、创建临时表权限,缺失导入数据(比如Excel文件、txt文档、sql脚本等等)权限,需要创建临时表,插入测试数据。
问题模拟
由于生产库的数据是敏感数据,并且数据量非常大,当然不能提供出来。这里只是对这个问题进行一个模拟。数据量少和数据量大操作方法是一样的
继续阅读 »
这是唯品会实习生招聘的压轴题
首先吐槽下vip.com ,暑期实习生一共才招21人!太少了吧!
笔试现场各种乱,Java,Android,Tester,PHP,IOS甚至还有管培,产品经理这些,全坐一起,...人挨人的
笔试题更坑爹啊!前面选择题,都是Java语法题,感觉没多大含金量。
大题更坑啊!操作系统,网络,组成原理,算法各一题
其中前三者,都是考死知识,神马解释操作系统进程通信方式,解释段页式管理,解释TCP和UDP
最后的算法题还算不错!
题目是:O(1)时间内删除单链表节点
拿到这道题的第一想法是,我擦!你TMD逗我呢!这TMD也可能实现?!
寻思一番之后,突然发现,卧槽!这真的可以实现啊!
好吧,开始进入
继续阅读 »
定义
选择排序(英语:Selection sort)是一种简单直观的排序算法。它首先在未排序的序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
more
选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。
算法步骤
选择排序算法的运作如下:
首先在未排序序列中找到最小(大)元素,存放到排序
继续阅读 »
mdtoc start
hash表中key的分布规律
当hash表中key和bucket数量一样时(n/b=1):
key的数量对3类bucket数量的影响
key的数量对bucket的均匀程度的影响
Load Factor: n/b<0.75
Load Factor: n/b>1
n/b 越大, key的分布越均匀.
计算
每类bucket的数量
空bucket 数量
有1个key的bucket的数量
多个key的bucket
key在bucket中分布的均匀程度
通过~~正太~~正态分布来近似
计算最小key数量 x
程序模拟
Reference
继续阅读 »