ホームページ バックエンド開発 PHPチュートリアル 【高分】根据条件查找最后一行数据的有关问题

【高分】根据条件查找最后一行数据的有关问题

Jun 13, 2016 am 10:18 AM
id null order quot select

【高分求助】根据条件查找最后一行数据的问题
max(id)和order by desc哪个效率更高?
还有没有其它的方法?

------解决方案--------------------
一直都是用order by的飘过。
------解决方案--------------------
如果 id 是主键,那么一样
否则若 id 有重复时,前者结果不一定对
------解决方案--------------------
我认为应该是order by,因为能够用到索引,而max是需要遍历比较的
------解决方案--------------------

探讨

如果 id 是主键,那么一样
否则若 id 有重复时,前者结果不一定对

------解决方案--------------------
探讨

如果 id 是主键,那么一样
否则若 id 有重复时,前者结果不一定对

------解决方案--------------------
第一条sql的explian是
1,"SIMPLE","collect","index",NULL,"PRIMARY","4",NULL,1,"Using index"


第二条sql
1,"SIMPLE",NULL,NULL,NULL,NULL,NULL,NULL,NULL,"Select tables optimized away"

------解决方案--------------------
探讨

引用:

如果 id 是主键,那么一样
否则若 id 有重复时,前者结果不一定对


测试了一下,的确没区别在速度上

PHP code

mysql_connect('127.0.0.1', 'root', 'root');
mysql_select_db('collect');

$sql1 = 'select id from collect order ……

------解决方案--------------------
id是primary key的吧?
innodb引擎的话order by limit 1效率会高些。
myisam下单纯select max(id)是很快的,最大id相当于存在一个缓存里,因为我explian语句发现Extra列显示的是Select tables optimized away,是和select count(id)一样的处理。
不过如果你除了max(id)还要select对应的其它字段,一条语句的效率可能就不如order by limit 1了,
当然你的语句可以变化为
select * from table where id = (select max(id) as id from table)
应该会非常快,是我基于explian的分析,你可以拿去测试下
自己多查看explian分析吧。

------解决方案--------------------
For explains on simple count queries (i.e. explain select count(*) from people) the extra section will read "Select tables optimized away." This is due to the fact that MySQL can read the result directly from the table internals and therefore does not need to perform the select.
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

この Apple ID は iTunes Store でまだ使用されていません: 修正 この Apple ID は iTunes Store でまだ使用されていません: 修正 Jun 10, 2024 pm 05:42 PM

AppleIDを使用してiTunesStoreにログインすると、「このAppleIDはiTunesStoreで使用されていません」というエラーが画面に表示される場合があります。心配するようなエラー メッセージはありません。これらのソリューション セットに従って問題を修正できます。解決策 1 – 配送先住所を変更する iTunes Store にこのプロンプトが表示される主な理由は、AppleID プロファイルに正しい住所がないことです。ステップ 1 – まず、iPhone で iPhone 設定を開きます。ステップ 2 – AppleID は他のすべての設定の最上位にある必要があります。それで、開けてください。ステップ 3 – そこに到達したら、「支払いと配送」オプションを開きます。ステップ 4 – Face ID を使用してアクセスを確認します。ステップ

イベント ビューアでのイベント ID 55、50、98、140 のディスク エラーを修正 イベント ビューアでのイベント ID 55、50、98、140 のディスク エラーを修正 Mar 19, 2024 am 09:43 AM

Windows 11/10 のイベント ビューアーでイベント ID 55、50、140、または 98 が表示された場合、またはディスク ファイル システム構造が破損しているため使用できないというエラーが発生した場合は、次のガイドに従って問題を解決してください。イベント 55、ディスク上のファイル システム構造が壊れていて使用できないとはどういう意味ですか?セッション 55 では、Ntfs ディスク上のファイル システム構造が破損しており、使用できません。ボリューム上で chkMSK ユーティリティを実行してください。NTFS がトランザクション ログにデータを書き込むことができない場合、イベント ID 55 のエラーがトリガーされ、NTFS はトランザクション データを書き込むことができず操作を完了できません。このエラーは通常、ディスク上に不良セクタが存在するか、ディスク サブシステムのファイル システムが不十分なために、ファイル システムが破損した場合に発生します。

Alibaba ID はどこで確認できますか? Alibaba ID はどこで確認できますか? Mar 08, 2024 pm 09:49 PM

Alibaba ソフトウェアでは、アカウントの登録が完了すると、システムによって一意の ID が割り当てられ、これがプラットフォーム上での ID として機能します。しかし、多くのユーザーは自分の ID を照会したいと考えていますが、その方法がわかりません。次に、この Web サイトの編集者が以下の戦略手順を詳しく紹介します。お役に立てれば幸いです。 Alibaba ID: [Alibaba]-[My] に対する答えはどこで見つかりますか。 1. まず Alibaba ソフトウェアを開きます. ホームページに入ったら、右下隅の [My] をクリックする必要があります; 2. その後、My ページにアクセスすると、ページの上部に [id] が表示されます; Alibaba ID はタオバオと同じですか? アリババ ID とタオバオ ID は異なりますが、この 2 つは同じです

イベント ID 4660: オブジェクトが削除されました [修正] イベント ID 4660: オブジェクトが削除されました [修正] Jul 03, 2023 am 08:13 AM

一部の読者がイベント ID4660 に遭遇しました。何をすればよいかわからないことが多いため、このガイドで説明します。イベント ID 4660 は通常、オブジェクトが削除されたときにログに記録されるため、コンピューター上でイベント ID 4660 を修正する実際的な方法も検討します。イベントID4660とは何ですか?イベント ID 4660 は Active Directory 内のオブジェクトに関連しており、次のいずれかの要因によってトリガーされます。 オブジェクトの削除 – オブジェクトが Active Directory から削除されるたびに、イベント ID 4660 のセキュリティ イベントがログに記録されます。手動変更 – ユーザーまたは管理者がオブジェクトのアクセス許可を手動で変更すると、イベント ID 4660 が生成される場合があります。これは、権限設定の変更、アクセス レベルの変更、またはユーザーやグループの追加または削除を行うときに発生する可能性があります。

TencentビデオIDを確認できる場所 TencentビデオIDを確認できる場所 Feb 24, 2024 pm 06:25 PM

Tencent Video ID はどこで確認できますか? Tencent Video APP には専用の ID がありますが、ほとんどのユーザーは Tencent Video ID を確認する方法を知りません。次は、Tencent Video ID を確認する方法についてのグラフィック チュートリアルです。興味のあるユーザーはぜひ見に来てください! Tencent Video 使用チュートリアル Tencent Video ID を確認する場所 1. まず Tencent Video APP を開き、メイン ページの右下隅にある [パーソナル センター] から特別エリアに入ります; 2. 次に、パーソナル センター ページに入り、[設定]機能; 3. 次に、設定ページに移動し、下部の[アカウントを終了]をクリックします; 4. 最後に、以下のページで専用のID番号が表示されます。

Select Channels Goの非同期処理方法 golangを使った並行プログラミング Select Channels Goの非同期処理方法 golangを使った並行プログラミング Sep 28, 2023 pm 05:27 PM

golang を使用した SelectChannelsGo 同時プログラミングの非同期処理方法 はじめに: 同時プログラミングは、アプリケーションのパフォーマンスと応答性を効果的に向上させることができる、現代のソフトウェア開発における重要な領域です。 Go 言語では、Channel と Select ステートメントを使用して同時プログラミングを簡単かつ効率的に実装できます。この記事では、SelectChannelsGo 同時プログラミングの非同期処理メソッドに golang を使用する方法を紹介し、具体的な方法を提供します。

jqueryでselect要素を非表示にする方法 jqueryでselect要素を非表示にする方法 Aug 15, 2023 pm 01:56 PM

jquery で select 要素を非表示にする方法: 1. hide() メソッド。jQuery ライブラリを HTML ページに導入します。さまざまなセレクターを使用して select 要素を非表示にできます。ID セレクターは、selectId を選択した select 要素の ID に置き換えます。実際に使用する; 2. css() メソッド、ID セレクターを使用して非表示にする必要がある select 要素を選択し、css() メソッドを使用して表示属性を none に設定し、selectId を select 要素の ID に置き換えます。

Redis 分散 ID のソリューションは何ですか? Redis 分散 ID のソリューションは何ですか? Jun 03, 2023 am 10:14 AM

一般的に使用される分散 ID ソリューション 分散システムでは、複数のノードが同時に ID を生成すると ID の競合が発生する可能性があるため、分散システムではグローバルに一意の ID を生成することが非常に重要です。以下に、一般的に使用される分散 ID ソリューションをいくつか紹介します。 UUIDUUID (Universally Unique Identifier) は 128 桁で構成される識別子で、その生成アルゴリズムがタイムスタンプやノード ID などの要素に基づいているため、グローバルな一意性を保証できます。 UUID は、次に示すように、Java 独自の UUID クラスを使用して生成できます。 javaCopycodeimportjava.util.UUID;publicclassUuidGenerator{publicstat

See all articles