Here's my solution to this quiz.
We first add this link
that was passed in as a parameter to our links list.
And then we add it to our index by saying link.id=link
into the global index here.
And let's go ahead and give this function a test.
The first thing we need to do is create a link, so I'll do that now.
So we create a new link, and it's going to have id 50.
And then we needed a user id, a submission time, and number of votes,
which we'll just set to 1 for now.
It needs a title and a URL.
So that should make a link.
And now let's actually call our function add new link L.
And now, let's make sure it works.
So the first thing I want to do is make sure we added it to the list link.
So we're going to say print links negative 1,
Which will print the last element in our list of links.
And that's where this link should be
because we appended it to that list.
I'm also going to print link by id 50.
So these should actually print the same thing
and they should both be our new list--or our new link.
Let's go ahead and give that a shot.
Ta-da! All right, so we've updated our list,
and we've updated our index--pretty cool.
So as you can see, an index is really handy
making reads simpler so you don't have to iterate over the entire list,
but there's a certain maintenance cost to having them
in that you have to keep it up to date when you're updating the rest of your database.
And you can imagine if you had multiple indexes on your table,
which you can,
every time you insert a new element into your table,
you need to update all of these indexes.
Okay, great. Let's move on to another quiz.
Esta es mi solución a esta pregunta.
Primero añadimos este link
que fue aprobado como parámetro en nuestra lista de links.
Después lo añadimos a nuestro índice escribiendo link.id=link
en el índice global aquí.
Pasemos a probar esta función.
Lo primero que debemos hacer es crear un link, así que lo haré ahora.
Creamos un nuevo link que tendrá ID 50.
Necesitamos un id de usuario, un tiempo de envío y un número de votos,
que de momento lo pondremos como 1.
Necesita un título y una URL.
Eso debería crear un link.
Ahora llamemos a nuestra función "add new link(L)".
Asegurémonos de que funciona.
Lo primero que quiero hacer es asegurarme de que lo añadimos a la lista.
Escribiremos "print links(-1)",
que escribirá el último elemento en nuestra lista de links.
Ahí es donde el link debería estar
porque lo añadimos a esa lista.
También escribiremos "link by id(50)".
Esto debería escribir la misma cosa
y ambos deberían estar en nuestra nueva lista, o nuestro nuevo link.
Démosle una oportunidad.
¡Sorpresa! Bien, ya hemos actualizado la lista
y nuestro índice. Muy bien.
Como puedes ver, un índice es muy útil
para hacer las lecturas más rápidas y no tener que repasar toda la lista
pero es muy costoso mantenerlos
ya que tienes que actualizarlo cuando actualizas el resto de tu base de datos.
Imagina que si tuvieras muchos índices en tu tabla,
algo que puedes hacer,
cada vez que insertes un nuevo elemento en la tabla
necesitarás actualizar todos los índices.
Perfecto. Pasemos a otra pregunta.
では小テストの解説です
まずパラメータとして渡されたリンクを追加します
次にlink_index[link.id]=linkで
インデックスに追加しましょう
追加先はグローバルインデックスです
ではこの関数をテストしてみましょう
まず最初にリンクが必要なので作成します
新たに作成したリンクのIDは50です
次にユーザID、投稿した時間、投票数が必要です
今はすべて1としておきます
タイトルとURLも必要です
これでリンクができました
ここでadd new link(l)関数を呼び出します
実行してみましょう
まずリンクのリストに追加されたか確認します
print links[-1]と記入しましょう
リスト上の最後のエレメントが表示されます
リストを付加したのでリンクはここにあるはずです
print linkbyid(50)も実行します
両方とも新しいリンク上にあるので
同じ結果になるはずです
では実行してみましょう
成功です! リストが更新されて
インデックスも更新されましたね
インデックスはとても便利です
読み取りがシンプルになり
全リストを検索する必要がなくなります
ですがメンテナンスは不可欠です
データベースを更新した場合は
インデックスの更新も必要です
テーブル上にインデックスが複数あるとします
これは現実的に可能です
新しいエレメントを追加したら
インデックスも全部更新する必要があります
では次の小テストに移りましょう
Aqui está minha solução para este quiz.
Primeiro, adicionamos este link
que foi transmitido como parâmetro,
para a nossa lista de links.
E então nós o adicionamos ao nosso índice,
declarando link.id=link
dentro do índice global que temos aqui.
E, agora, vamos em frente,
testar esta função.
A primeira coisa que precisamos fazer é criar um link,
então, vou fazer isso agora.
Então, criamos um novo link,
ao qual vamos atribuir a id 50.
E, aí, nós precisamos de uma id de usuário, um horário de submissão, e um número de votos,
aos quais vamos atribuir 1,
por enquanto.
Precisamos também de um título e de uma URL.
Isto deveria criar um link.
E agora vamos, efetivamente,
chamar nossa função de add new link L.
E agora, vamos confirmar que ela funciona.
Então, a primeira coisa que eu quero fazer é confirmar que nós a adicionamos à lista de links.
Então, vamos dizer: print links[-1],
o que vai imprimir o último elemento
da nossa lista de links.
E é aí que este link deveria estar
porque nós o adicionamos àquela lista.
Eu também vou imprimir o link by id 50.
De forma que ambos os comandos
deveriam imprimir a mesma coisa
e eles deveriam ambos estar em nossa nova lista -
ou novo link.
Vamos em frente, e façamos uma tentativa.
Ta-da! Tudo certo, então,
nós atualizamos a lista,
e atualizamos nosso índice - muito legal.
Então, como você pode ver, um índice é muito prático,
possibilitando leituras mais simples, de modo que você não precise fazer iterações completas da lista,
mas existe um certo custo de manutenção relacionado a ele,
no sentido de que você tem que mantê-la atualizada quando atualiza o resto da sua base de dados.
E você pode imaginar que, se você tivesse múltiplas indexações na sua tabela,
o que pode acontecer,
cada vez que você insere um novo elemento na sua tabela,
você precisa atualizar
todos esses índices.
Ok, ótimo. Vamos em frente com um outro quiz.