日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

python面试总结(五)内存管理与MYSQL引擎选择

發布時間:2024/7/5 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python面试总结(五)内存管理与MYSQL引擎选择 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.python是如何進行內存管理的?

當內存中有不再使用的部分時,垃圾收集器就會把他們清理掉
Python引入了機制:引用計數與分代回收。
Python提供了對內存的垃圾收集機制,

但是它將不用的內存放到內存池而不是返回給操作系統。

2.談談你對線程安全的理解?

線程安全就是多線程訪問時,采用了加鎖機制,
當一個線程訪問該類的某個數據時,進行保護,
其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。
不會出現數據不一致或者數據污染。


3.事務的特性 ?
1.原子性
2.一致性
3.隔離性

4.持久性

4.什么是阻塞,什么是非阻塞?

阻塞調用是指調用結果返回之前,當前線程會被掛起。調用線程只有在得到結果之后才會返回。
非阻塞調用指在不能立刻得到結果之前,該調用不會阻塞當前線程。



5.父子進程間有哪些異同,是否共享數據?(共享哪些數據?)

父子進程共享“文件表項”(file對象),同dup一樣,這會增加“文件達開計數”
(file對象的引用計數),只不過fork增加的引用計數來自不同進程(父進程和子進程)
中的描述符,dup增加的引用來自同一文件描述符。
但父子進程獨立運行后再打開的文件就不在共享file對象,
這個兩個獨立進程打開文件情況一樣。
父子進程傳遞文件描述符和兩獨立進程傳遞描述符性質一樣。

共享數據是線程 ?
創建一個線程后他們的數據是共享的 ??
他們是同一個數據


6.Mysql的常用引擎及選擇?

1.Innodb引擎,Innodb引擎提供了對數據庫ACID事務的支持。
并且還提供了行級鎖和外鍵的約束。
它的設計的目標就是處理大數據容量的數據庫系統。
它本身實際上是基于Mysql后臺的完整的系統。
Mysql運行的時候,Innodb會在內存中建立緩沖池,用于緩沖數據和索引。
但是,該引擎是不支持全文搜索的。同時,啟動也比較的慢,它是不會保存表的行數的。
當進行Select count(*) from table指令的時候,需要進行掃描全表。
所以當需要使用數據庫的事務時,該引擎就是首選。
由于鎖的粒度小,寫操作是不會鎖定全表的。
所以在并發度較高的場景下使用會提升效率的。


2.MyIASM引擎,它是MySql的默認引擎,但不提供事務的支持,也不支持行級鎖和外鍵。
因此當執行Insert插入和Update更新語句時,即執行寫操作的時候需要鎖定這個表。
所以會導致效率會降低。不過和Innodb不同的是,MyIASM引擎是保存了表的行數,
于是當進行Select count(*) from table語句時,可以直接的讀取已經保存的值而不需要進行掃描全表。
所以,如果表的讀操作遠遠多于寫操作時,并且不需要事務的支持的。
可以將MyIASM作為數據庫引擎的首先。

總結

以上是生活随笔為你收集整理的python面试总结(五)内存管理与MYSQL引擎选择的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。