film

加速MySQL的alter table操作

 ̄綄美尐妖づ 提交于 2019-12-02 10:38:54
MySQL的alter table性能在表很大的时候会出现问题。MySQL执行大部分更改操作都是新建一个需要的结构的空表,然后把所有老的数据插入到新表,最后删除旧表。这会耗费很多时间,尤其是在内存紧张,而表很大并有很多索引的时候。 不是所有的alter table操作都会导致重建表。例如,可以通过两种方式创建或去掉列的默认值(一种快、一种慢)。下面是较慢的方式: alter table film modify column rental_duration tinyint(3) not null default 5; 使用show status分析该命令发现,它执行了1001次句柄读取和1000次写入。换句话说,即使列类型、大小和可空性没有变化,它也把表拷贝到了新表中。 flush status; alter table film modify column rental_duration tinyint(3) not null default 5; show session status like 'handle%'; Variable_name Value Handler_commit 2 ...... Handler_read_rnd_next 1001 ...... Handler_write 1000 理论上,MySQL能跳过构建一个新表的方式。列的默认值实际保存在表的

电影和电视

别说谁变了你拦得住时间么 提交于 2019-11-29 14:21:48
turn on the TV打开电视 turn the TV on give me the remote please. 把遥控器给我 remote controller hand the remote to me please. pass the remote to me please. No problem. what’s on TV? what’s on today? 电视上有什么节目 what are you watching? which programs are you watching? what do you want to watch? what show do you watch regularly? 你平时看什么节目 what channel is the picking ? …在哪个 频道 which channel/station is this TV series on? 这个电视剧在哪个频道放 switch the channel换个频道 change the channel let’s change to sport channel. there is nothing interesting on TV tonight. why not switch to the music channel? there are too many

python爬取腾讯视频、爱奇艺vip电影

泄露秘密 提交于 2019-11-29 06:42:24
以chrome为例 首先打开开发者工具 把页面下拉一下,会出现一些新的文件,在network中可以很容易的发现我们需要找的一个XHR文件 这个Request URL就是我们需要找的url,下面还有pageNum这个参数即说明是第几页的数据,我们在发送请求时也要带上 可以发现爱奇艺电影片库里一共有19页,就可以求得每一页的数据: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36', 'Origin': 'https://list.iqiyi.com' } for page in range(1,20): url = 'https://pcw-api.iqiyi.com/search/video/videolists?access_play_control_platform=14&channel_id=1&data_type=1&from=pcw_list&is_album_finished=&is_purchase=&key=&market_release_date_level=&mode=11&pageNum={}&pageSize=48&site

mysql------explain工具

为君一笑 提交于 2019-11-28 12:43:11
基于mysql5.7,innodb存储引擎 使用explain关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返 回执行计划的信息,而不是执行这条SQL ,如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中 使用到的建表语句文末 explain select * from actor; 在查询中的每个表会输出一行,如果有两个表通过 join 连接查询,那么会输出两行 explain结果字段说明 1. id列 id列的编号是 select 的序列号,有几个 select 就有几个id,并且id的顺序是按 select 出现的 顺序增长的。 id列越大执行优先级越高,id相同则从上往下执行,id为NULL最后执行。 2. select_type列 select_type 表示对应行是简单还是复杂的查询。 1)simple:简单查询。查询不包含子查询和union 2)primary:复杂查询中最外层的 select 3)subquery:包含在 select 中的子查询(不在 from 子句中) 4)derived:包含在 from 子句中的子查询。MySQL会将结果存放在一个临时表中,也称为 派生表(derived的英文含义) 5)union:在

MySQL 查询优化 - 关联查询

岁酱吖の 提交于 2019-11-26 20:17:53
MySQL 查询优化 - 关联查询 1. 关联查询执行流程 MySQL 执行关联查询的策略很简单,他会从一个表中循环取出单条数据,然后用该条数据到下一个表中寻找匹配的行,然后回溯到上一个表,到所有的数据匹配完成为止。因此也被称为“ 嵌套循环关联 ”。 来看下面这个SQL: select tb1.col1, tb2,col2 from tb1 inner join tb2 using(col3) where tb1.col1 in (5,6) 他的执行顺序为(伪代码): List outerDataList = "select * from tb1 where col1 in (5,6)" for(outerData in outerDataList){ List innerDataList = "select * from tb2 where col3 = outerData.col3" for(innerData : innerDataList){ output(outterData,innerData) } } MySQL认为 所有的查询都是一次关联查询 ,所以如果查询一个表,上述过程也适合,不过只需要完成上面外层的基本操作。 再来看看 left outter join 查询的过程,SQL如下: select tb1.col1, tb2,col2 from tb1 left

SQLite3 简要使用指南

ぃ、小莉子 提交于 2019-11-26 10:15:01
转:http://c.gzl.name/archives/195 SQLite是基于C的API,在iPhone中的运行速度超级快(在苹果网站上也有一个对比,确实应该是速度最快的)。 由于在iPhone3.0上已经支持了Core Data,是苹果一个新的API,并且是基于SQlite的。速度也是非常快吧,信不信由你。所以我们对SQLite仅需要懂一些即可,以下是一些基础信 息 打开数据库 sqlite3 * database = NULL ; //建立一个sqlite数据库变量 int sqlite3_open ( const char * 文件名 , sqlite3 ** db ) ; //那个文件名需要是cString, //之后那个db对象使用我们建立的database变量 //以下是一个开打的例子: NSString * fileAddress = [ [ NSBundle mainBundle ] pathForResource : @ "预存文件的文件名" ofType : @ "db" ] ; //db是扩展名 if ( sqlite3_open ( [ fileAddress UTF8String ] , & amp ; database ) == SQLITE_OK ) //UTF8String方法转换NSString为cString 执行一个SQLite语句 :