並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 51件

新着順 人気順

高速化の検索結果1 - 40 件 / 51件

  • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

    これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門本 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

      データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
    • パワポのスライドと箇条書きが人間を駄目にする - Qiita

      パワポのスライドと箇条書きが人間を駄目にする 今から20年前の2003年、データの可視化やインフォメーションデザインの先駆者として有名なイエール大学の教授エドワード・タフティが「パワーポイントの認知スタイル」というエッセイを発表しました。 彼はこのエッセイの中で、パワーポイントのようなスライド形式はプレゼンテーション自体の質を低下させ、余計な誤解や混乱を招き、さらに言葉の使い方、論理的な説明、そして統計的な分析といったものが犠牲になるため、スライドをつくる人の思考回路にダメージを与えると主張します。 こうした主張に賛同する人は現在でも多くいて、その典型的な例がアマゾンです。アマゾンではミーティングの前に文章形式の資料が配られ、ミーティングの最初の5分はそれぞれがこの配られたレポートを黙って読むことから始まるという話は多くの方も聞いたことがあるのではないでしょうか。(リンク) 実は、アマゾン

        パワポのスライドと箇条書きが人間を駄目にする - Qiita
      • サブクエリの書き方を2万文字弱かけてすべて解説する

        これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

          サブクエリの書き方を2万文字弱かけてすべて解説する
        • インデックスを理解したい - Qiita

          はじめに みなさんはDBのインデックスを正しく使えていますか? 私はなんとなく「DBのパフォーマンスを向上するためのもの」という認識はあったのですが、 どのような場面で使うものなのか、逆にどのような場面では使うべきでないのかなど 明確に理解できていませんでした。 今回はそんなインデックスについての理解を深めたいと思います。 インデックスとは インデックスとは、その名の通り「索引」です。 表現の仕方と変えると、(x, a)という形式の配列であるとも言えます。 xというキー値とそれに結びつくaというデータ情報があり、 これを利用することですべてのデータを網羅して見ることなく、 まさに本の索引のように目的のデータにたどり着くことができます。 インデックスはSQLのパフォーマンスを改善するための非常にポピュラーな手段であり、 理由としては下記の3点が挙げられます。 アプリケーションのコードに影響を

            インデックスを理解したい - Qiita
          • Webアプリケーションのパフォーマンス・チューニングの勘所 / web tuningperformance

            # 参考資料 - https://speakerdeck.com/hanhan1978/purohuairawoshi-tutaphpapurikesiyongai-shan-falsekan-suo - https://speakerdeck.com/hanhan1978/web-application-tuning-guildline - https://speakerdeck.com/soudai/basic-of-rdb - https://speakerdeck.com/soudai/shi-xing-ji-hua-falsehua - https://fortee.jp/phpcon-2021/proposal/1e11a6b1-08d9-4044-9909-4c90105ea726 - https://fortee.jp/phperkaigi-2021/proposal/1d

              Webアプリケーションのパフォーマンス・チューニングの勘所 / web tuningperformance
            • SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita

              データベースとテーブルの作成 テスト用のデータベースtestdbを作成し、パフォーマンスチューニングを検証するためのcompanyおよびpersonテーブルを定義します。 CREATE DATABASE testdb; USE testdb; CREATE TABLE company ( company_id INT AUTO_INCREMENT PRIMARY KEY, company_name VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE person ( person_id INT AUTO_INCREMENT PRIMARY KEY, company_id INT, person_name VARCHAR(255) NOT NULL, email VARCH

                SQLの達人への道: MySQLでの高速・効率的クエリ作成術 - Qiita
              • レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita

                マルチクラウド展開にまつわる既成概念を覆すより データ転送では、特に長距離の場合にレイテンシ(遅延)が問題になることがありますが、現在はすべてのクラウド・プロバイダーがそれぞれの物理インフラストラクチャを互いの近くに配置(専門用語では「コロケーション」)しているため、これはさほど問題となりません。この近接性(場合によっては同一コロケーション施設内の別の部屋)は、クラウド間のレイテンシがミリ秒単位であることを意味します。それに加え、クラウド・データセンター・リージョンは世界中で増加しており、クラウド・リージョン間の距離は縮まっています。 という事で、レイテンシ(遅延)について、まとめてみてみます。 ■ Agenda レイテンシ(遅延)とスループット(帯域幅) レイテンシと TCP の動作 帯域幅遅延積(Bandwidth-Delay Product) TCP Window Size の調整と

                  レイテンシ(遅延)とスループット(帯域幅)と帯域幅遅延積 - Qiita
                • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

                  SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

                    型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
                  • 高効率なSQLクエリの書き方 - Qiita

                    概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基本的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

                      高効率なSQLクエリの書き方 - Qiita
                    • MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita

                      この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの

                        MySQL 5.7 から 8.0 にしたらテストが激遅になった - Qiita
                      • RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag

                        PHPカンファレンス関西の登壇資料です。 WEB+DB PRESS Vol.134に詳細があります https://gihyo.jp/magazine/wdpress/archive/2023/vol134

                          RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド / delete flag
                        • OpenAI Cookbook

                          Processing and narrating a video with GPT's visual capabilities and the TTS API

                            OpenAI Cookbook
                          • 開発者が知るべきキャッシュ設計でよく遭遇する問題

                            はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない

                              開発者が知るべきキャッシュ設計でよく遭遇する問題
                            • もし明日、上司に「GPT-4を作れ」と言われたら? Stability AIのシニアリサーチサイエンティストが紹介する「LLM構築タイムアタック」

                              オープンLLMの開発をリードする現場の視点から、開発の実情や直面する課題について発表したのは、Stability AI Japan株式会社の秋葉拓哉氏。Weights & Biasesのユーザーカンファレンス「W&Bカンファレンス」で、LLM開発のポイントを紹介しました。全2記事。前半は、LLM構築タイムアタック。 「GPT-4を作ってください」と言われたらどう答える? 秋葉拓哉氏:みなさん、こんにちは。秋葉と申します。それでは、発表させていただきたいと思います。 みなさん、さっそくですが、「GPT-4」ってすごいですよね。ここにいらっしゃっている方々はこれについては、もう疑いの余地なく、同意してくださるかなと思います。 では、質問なんですが、もし「GPT-4を作ってください。予算はあるんだよ」と上司に言われたら、どう答えますか? ということをちょっと聞いてみたいですね。 これはけっこう意

                                もし明日、上司に「GPT-4を作れ」と言われたら? Stability AIのシニアリサーチサイエンティストが紹介する「LLM構築タイムアタック」
                              • 「推測するな、計測せよ」という訳はミスリードと言う話 - aki33524’s blog

                                パフォーマンス改善の文脈で良く用いられるフレーズとして、「推測するな、計測せよ」というものがある。これはRob PikeのNotes on Programming in Cからの引用なのだが、原典と少し印象が違う。 Rule 1. You can’t tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is. Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t

                                  「推測するな、計測せよ」という訳はミスリードと言う話 - aki33524’s blog
                                • キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳

                                  どうもキャッシュバスターズ、 id:Soudai です。 Cache(以下、キャッシュ)は特定の場面に置いて劇的な効果を発揮し、様々な問題を解決する反面、新たなコンポートやミドルウェアが追加され、複雑性が上がり、運用のレベルが上がるため、扱いに注意する必要があります。 キャッシュを活用することで、パフォーマンスの改善や負荷軽減が行われ、コンピュータリソースの最適化によるサーバコストの削減や、レスポンスの改善によるユーザエクスペリエンスの改善がされます。 反面、その劇的な効果に毒され安易に多用すると、サービスが強くキャッシュに依存してしまい、非常に壊れやすくなり、運用が難しくなってしまいます。これをWeb界隈では「キャッシュは麻薬」と比喩されて、戒められてきました。 そのためキャッシュを使わずにサービスが運用できるのであれば使わないに越したことはないのですが、ある一定以上の規模になった際にコ

                                    キャッシュを活用するために必要な知識と勘所 - そーだいなるらくがき帳
                                  • キャッシュと向き合う、キャッシュと共に生きる / cache pattern

                                    PHPerKaigi 2024の登壇資料です。 https://phperkaigi.jp/2024/ - https://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching - https://soudai.hatenablog.com/entry/cache-strategy

                                      キャッシュと向き合う、キャッシュと共に生きる / cache pattern
                                    • RAGの性能を改善するための8つの戦略 | Fintan

                                      近年、OpenAIのGPT-4やGoogleのGemini、MetaのLLaMAをはじめとする大規模言語モデル(Large Language Model:LLM)の能力が大幅に向上し、自然言語処理において優れた結果を収めています[1][2][3]。これらのLLMは、膨大な量のテキストデータで学習されており、さまざまな自然言語処理タスクにおいて、タスクに固有なデータを用いてモデルをファインチューニングすることなく、より正確で自然なテキスト生成や、複雑な質問への回答が可能となっています。 LLM-jp-eval[4]およびMT-bench-jp[5]を用いた日本語LLMの評価結果。Nejumi LLMリーダーボード Neoより取得。 大規模言語モデルは近年急速な進歩を遂げていますが、これらの進歩にもかかわらず、裏付けのない情報や矛盾した内容を生成する点においては依然として課題があります。たとえ

                                        RAGの性能を改善するための8つの戦略 | Fintan
                                      • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                                        こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                                          MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                                        • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

                                          先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                                            Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
                                          • 「プログラマーのためのCPU入門」は入り口として丁度よい!

                                            DevTools でパフォーマンスチューニング入門 / Introduction to Performance Tuning with DevTools

                                              「プログラマーのためのCPU入門」は入り口として丁度よい!
                                            • 動画生成AIについて:一番星はてのは目をゆっくり開き、踊れるか

                                              Krita の AI Diffusion プラグイン、SD のインターフェースとしてかなり良い。話題の LCM によるライブペイントも便利だし、イラストレーションツールだからレイヤーや選択ツールが使えるのが強い。すでに SD でできたことだが、こんな感じの変換が素早く、気持ちよく行える。https://t.co/bUPOZrKs1n pic.twitter.com/0hn8iMHHms — Naoto Yokoyama (@builtinnya) November 18, 2023 これらを ControlNet8 で入力して AnimateDiff を使えば済むと考えていたが、甘かった。 動画生成 AI に期待しているのは、この2枚の画像の間のフレームを説得力のある形で補間することである。しかし、7秒という長さでは、例えば次の動画1のようになってしまう。 動画1. 図1と図2を使い、パラ

                                                動画生成AIについて:一番星はてのは目をゆっくり開き、踊れるか
                                              • ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ

                                                Gemini 1.5 モデル をお試しください。Vertex AI からアクセスできる、Google のもっとも先進的なマルチモーダル モデルです。 試す ※この投稿は米国時間 2024 年 6 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。 Google Cloud ネットワーキング チームは長年にわたり、お客様のネットワークの構築、修正、強化の支援に深く携わってきました。その間に、ネットワークのパフォーマンスと効率を最大限に高める重要なパターンやベスト プラクティスを発見しました。この豊富な知見は、ただの理論的なリソースではありません。Google Cloud、クロスクラウド、オンプレミス、その他のクラウド プロバイダなどデプロイ先を問わず、お客様のビジネス目標達成を支援するよう設計された実用的なツールキットです。Google はこの専門知識を共有する

                                                  ネットワーク パフォーマンスの解読: TCP と UDP のバルクフローのベンチマーク | Google Cloud 公式ブログ
                                                • 「FastCopy」のファイルコピーが9倍に!? 「Microsoft Defender」除外オプションが追加/Windowsプラットフォームで最速を謳うファイルのコピー・削除ツール

                                                    「FastCopy」のファイルコピーが9倍に!? 「Microsoft Defender」除外オプションが追加/Windowsプラットフォームで最速を謳うファイルのコピー・削除ツール
                                                  • MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)

                                                    はじめに こんにちは、令和トラベルでバックエンドエンジニアをしている飯沼です。 MySQLでは、UUID (v4)などのランダム性の高いIDをプライマリキーに設定すると、パフォーマンスが低下すると言われています。私自身もこの問題については認識しておりアンチパターンとして避けて来ましたが、イマイチ理由を理解できず何度も調べていたので自分の理解を整理しました。 ※ この記事は令和トラベルのTech LT会で共有した内容を記事にしたものです。社外の方にもご参加いただけるTech LT会は connpass にて告知しています。 UUIDをプライマリキーにするユースケース そもそもUUIDをプライマリキーにするユースケースはどのようなものがあるのでしょうか? いくつかの観点から考えてみます。 パフォーマンス観点 大量の同時書き込みが発生するような状況でauto incrementを利用してIDを発

                                                      MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)
                                                    • 「自分でLLMを動かすことでイメージがつきやすくなる」 ローカルで使うメリットと、日本語特化LLMを動かすために必要なスペック

                                                      システムから言語モデルがどのように使えるか、その時どういうことに気をつける必要があるかを考える「『ChatGPTなどの言語モデルはどのようにシステムで使えるか』きしだなおき氏」。ここで、LINE Fukuoka株式会社のきしだなおき氏が登壇。続いて、システムがChatGPTをどのように使うかと、日本語特化のLLMについて話します。 システムはChatGPTをどのように使うか きしだなおき氏:今、人間がどう使うかという話を中心に話しました。(次に)じゃあシステムからどう使うかとなると、APIを使った利用になりますね。 今日(2023年6月14日時点)朝起きたら「関数定義が可能になったよ」みたいなものが出ていて。今回の(セッションで話した)概要(の内容)とか…。(この概要は)昨日になってやっと(運営に)送ることができたんですけど、「どういう話をしようか」と思って朝起きたら、毎日状況が変わってい

                                                        「自分でLLMを動かすことでイメージがつきやすくなる」 ローカルで使うメリットと、日本語特化LLMを動かすために必要なスペック
                                                      • explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ

                                                        はじめに こんにちは、バックエンドエンジニアのSakiです!バックエンドでPHPを書いたり、PHPという言語そのもののメンテナーもしています。 この度、注文データダウンロードAppのパフォーマンスをアップさせるため、とても入念にデータベースまわりの処理を見直しました。その中でも特に速度に関わってくる「index」についての考え方をまとめたいと思います。 この記事はMySQL(InnoDB)についての記事であり、他のRDBについては当てはまらない場合もあるということにご注意ください。 indexとは何か、おさらい ご存知の方ももちろん多いと思いますが、indexについておさらいさせてください。 indexとは辞書でいうところの目次に相当するもので、目的のデータをいち早く検索するために重要なものです。もし辞書に目次が存在しなかった場合、目的の情報を探すのにとても苦労するだろうというのは想像しや

                                                          explainだけじゃわからない!MySQLのindexの考え方 - BASEプロダクトチームブログ
                                                        • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

                                                          はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

                                                            MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
                                                          • 【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita

                                                            SELECT table_a.id, table_a.name FROM table_a INNER JOIN table_b ON table_a.id = table_b.id; メリットとしては、 どちらかのテーブルのid列のインデックスを使用可能 サブクエリがないことで中間テーブルが作成されない しかし、インデックスがない場合はEXISTSの方が良い場合があります ソートの回避 SQLでは暗黙的にソートが発生する演算が存在するので、 パフォーマンスにも影響するため、ソートが必要ない場合は考慮する必要があります ソートが発生する演算 GROUP BY句 ORDER BY 句 集約関数(SUM, COUNT, AVG) DISTINCT 集合演算子(UNION, INTERSECT, EXCEPT) ウィンドウ関数(RANK, ROW_NUMBER 等) メモリ上でのソートだけではなく

                                                              【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita
                                                            • Ultimate Guide to Improving MySQL Query Performance

                                                              MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h

                                                                Ultimate Guide to Improving MySQL Query Performance
                                                              • 【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史

                                                                  【大原雄介の半導体業界こぼれ話】 CPU処理性能向上の歴史というか、苦闘の歴史
                                                                • MySQLとOracleの実行計画を比較してみた - ASMのきもち

                                                                  まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

                                                                    MySQLとOracleの実行計画を比較してみた - ASMのきもち
                                                                  • Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話

                                                                    この記事について Zenn では長らく通信処理に Axios を使っていました。 しかし、Fetch API が多くのモダンブラウザなどで普通に使えるようになった今、使う必要性があまり無くなったため、Axios を使っている処理を全て Fetch API に置き換えることになりました。 この記事では、その置き換え作業をどう進めていったのか、その結果どう良くなったのかを解説していこうと思います 🗽 解説より置き換えた結果を知りたいのよ私は!!! って方が居るかと思いますので、最初に置き換えたことで良くなった部分を紹介しようと思います。 まず一番良くなったところといえば、ずばりサイト全体のビルドサイズが 10 KB も減りました。( ちなみに、10 KB は圧縮時のサイズで、圧縮しない場合 100 KB になります 😇 ワーオ ) グローバルのビルドサイズが 103.35KB gzip 時

                                                                      Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話
                                                                    • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

                                                                      【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学とテレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,本稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

                                                                        PostgreSQL チューニングよもやま話 - エムスリーテックブログ
                                                                      • 社内向け SQLチューニング勉強会を実施しました

                                                                        はじめのご挨拶 はじめまして。BEENOSの鈴木です。 普段はBEENOSグループのtenso株式会社でヘルプデスク業務に従事しておりますが、たまにサービス関連のデータベース、MySQLのチューニングや調査などもしております。 今回、普段から触っているMySQLのチューニング勉強会を実施しましたので、その内容を少し公開したいと思います。 勉強会を開催しようとしたきっかけ tenso株式会社の開発チームには、SREチーム(運用チーム)があり、元々は私も所属しておりました。 SREチームに新規メンバーが参入してきたこともあり、改めてデータベースと向き合う人のために、まずはSQLのチューニングを覚えてもらいたいとの要望があり、開催することにしました。 また、BEENOS全体としても開発エンジニアがコードを書くだけでなく、コードに含まれているSQLがどのように動くかを把握しパフォーマンスの良いSQ

                                                                          社内向け SQLチューニング勉強会を実施しました
                                                                        • 今日からできる!簡単 .NET 高速化 Tips -2024 edition-

                                                                          C# / .NET における、パフォーマンス改善の Tips をお届けします。 これを見れば、効率良く 80 点を取ることができるようになるはずです!

                                                                            今日からできる!簡単 .NET 高速化 Tips -2024 edition-
                                                                          • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

                                                                            SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

                                                                              クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
                                                                            • 負荷テスト on AWS のすすめ ~ 第 1 回 : 負荷テストの全体像を理解しよう - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                                                                              みなさん、こんにちは。ソリューションアーキテクトの馬渕です。AWS 入社前は SIer で性能試験・性能問題解決に特化した部署におり、さまざまな業種のお客様のシステムに対する支援を実施していました。 さて、みなさんは AWS ソリューションライブラリ をご存知でしょうか。AWS ソリューションライブラリは、世界中のユーザーが直面する一般的な問題の解決策を提供するものとなっています。AWS CloudFormation のテンプレートと導入手順が用意されているため、すぐにデプロイしてお客様の課題に対応できます。また、アーキテクチャ図やその説明、コスト試算なども用意されています。 私がご紹介したいのが、その中でも人気のソリューションの一つである 分散負荷テスト ソリューションです。このソリューションは、負荷テストに必要な負荷クライアントを必要なタイミングで必要量だけ立ち上げて負荷掛けを実行し、

                                                                                負荷テスト on AWS のすすめ ~ 第 1 回 : 負荷テストの全体像を理解しよう - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                                                                              • 一休.com サイトパフォーマンス改善 - 2023年 夏の振り返り - 一休.com Developers Blog

                                                                                ヤフー株式会社より出向しております、卯田と申します。 主務で、一休.comおよびYahoo!トラベルのフロントエンド開発を担当しています。 兼務で、ヤフー株式会社の全社横断組織でWebパフォーマンス改善の推進を行っております。 本稿では、直近半年弱(2023年2月〜8月)で、断続的に行っていた一休.comのパフォーマンス改善について振り返ります。 開始が2023年2月となった理由は、Nuxt3バージョンアップ以降にパフォーマンス改善活動に着手したためです。 一休.com/Yahoo!トラベルのNuxt3バージョンアップ詳細については、以下のブログをご覧ください。 user-first.ikyu.co.jp サイトパフォーマンス改善の意義 改善の方針 方針1: Core Web Vitalsを改善する 方針2: 重要課題から優先的に対応する 改善の進め方 可視化 ブラウザサイド サーバーサイ

                                                                                  一休.com サイトパフォーマンス改善 - 2023年 夏の振り返り - 一休.com Developers Blog
                                                                                • 高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita

                                                                                  アリスは驚きと興奮を抑えきれませんでした。彼女はすぐに新しいコードを試し、その速さに目を見張りました。今まで数時間かかっていた計算が、ほんの数分で終わったのです。 翌日、アリスはこの発見を友人たちに話しました。友人たちも同じように魔法の本を使い、彼らのコードを高速化しました。こうして、プログラミング王国全体で「JITの魔法の本」が広まりました。 やがて、アリスは王国のプログラミング大会で優勝し、JITの魔法の本の力をさらに広めることになりました。彼女は「JITの守護者」として称えられ、プログラミング王国はかつてない繁栄を迎えました。 アリスはいつも心に誓いました。どんなに強力なツールも、それを使う人々の努力と情熱があってこそ、本当の力を発揮するのだと。彼女の言葉は次世代のプログラマーたちに伝わり、JITの魔法の本は永遠に受け継がれていくのでした。 前回のあらすじ。 Python count

                                                                                    高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita